【发布时间】:2023-08-13 08:16:02
【问题描述】:
让我解释一下:我的目的是从网络应用创建moodle用户。
我正在 Tomcat 8.0.15.0 上实现一个 Web 应用程序。也就是说,我在服务器端使用 java servlet。许多 JSP 文件和 javascript(其中大部分在 jQuery 中)驻留在客户端。
另一方面,在另一台服务器上,我有一个测试 moodle 安装。通过site-administration> plugins> web services> external services,我创建了一个启用core_user_create_users功能的ws。还创建了一个token来访问这个ws,并将admin用户作为授权用户。
然后,在 Chrome 上输入以下网址:
https://mysyte.com/webservice/rest/server.php?wstoken=780f8b3a1164163d4dc00a757071194e&wsfunction=core_user_create_users&moodlewsrestformat=json&users[0][username]=testuser&usr[ [email] =john@smith.com&users [0] [password] = XXXXXX
它奏效了。它返回一个空白页,带有文本
[{"id": 1, "username": "testuser"}]
从而在moodle中创建一个用户。
我的问题是:我怎样才能通过 java?、javascript? 或 jQuery 更好地做到这一点。
如果不是,从 PHP,我想我从 java、javascript 或 jQuery 调用它没有问题。
我的错误提示:在我使用的应用程序的另一部分,在 javascript 中,调用 $.getJSON() 成功。这就是为什么我认为在这种情况下也会为我服务。但是现在没有成功,当 Mozilla 调试器到达调用时,它会挂起。
欢迎任何反馈。
电话看起来像
function create_moodle_user(username,firstname,lastname,email,password) {
var url = "https://mysyte.com/webservice/rest/server.php?"
+ "wstoken=780f8b3a1164163d4dc00a757071194e" + "&"
+ "wsfunction=core_user_create_users" + "&"
+ "moodlewsrestformat=json" + "&"
+ "users[0][username]=" + username + "&"
+ "users[0][firstname]=" + firstname + "&"
+ "users[0][lastname]=" + lastname + "&"
+ "users[0][email]=" + email + "&"
+ "users[0][password]=" + password;
$.getJSON(url, function(data) { // should return [{"id":4,"username":"testuser"}]
// this point is never reached
if (data.length < 64) {
}
else {
}
});
}
【问题讨论】:
-
如果链接正常,那么使用 ajax 应该是一个解决方案......除非你没有搞砸电话
标签: javascript java php jquery moodle-api