您好,
我是 Drupal JSON网络服务和 JQuery 的新手。
我有一个JSON Web服务(http://www.myweb.com/services/json)并且有一个名为的方法 的 user.login
方法user.login需要2个参数,用户名和密码。
我尝试使用CURL推荐来访问该方法
curl --data method="user.login" --data username="uname" password="DE"
http://www.myweb.com/services/json
一切正常。
现在,我想使用jQuery访问此方法。
我尝试使用jQuery Ajax方法,
$.post("http://www.myweb.com/services/json",
'method=user.login&username=uname&password=de',
function(data){
alert(data);
});
和
$.ajax({
url: "http://www.myweb.com/services/json",
type: 'POST',
data:'method=user.login&username=uname&password=de',
contentType: 'application/json',
success: function(data,textStatus, jqXHR){
alert(data + " " + textStatus + " " +jqXHR);
}});
但是成功的回调方法没有得到调用。这段代码有什么问题?如何使用jQuery调用user.login方法?
有人可以帮助我吗?,PLZ
由于
答案 0 :(得分:2)
看到这一点,他们在这里展示了如何在jquery-ajax中使用login.json ..
http://tylerfrankenstein.com/code/android-app-with-drupal-7-services-phonegap-and-jquery-mobile
答案 1 :(得分:1)
您的ajax网址应该是这样的:
http://www.myweb.com/my_services_path/user/login.json
尝试这样的事情:
$('#page_login_submit').live('click',function(){
// grab form input
var name = $('#page_login_name').val();
if (!name) { alert('Please enter your user name.'); return false; }
var pass = $('#page_login_pass').val();
if (!pass) { alert('Please enter your password.'); return false; }
// make the services call
var data_string = 'username=' + encodeURIComponent(name);
data_string += '&password=' + encodeURIComponent(pass);
$.ajax({
url: "http://example.com/?q=my_services_path/user/login.json",
type: 'post',
data: data_string,
dataType: 'json',
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert('page_login_submit - failed to login');
console.log(JSON.stringify(XMLHttpRequest));
console.log(JSON.stringify(textStatus));
console.log(JSON.stringify(errorThrown));
},
success: function (data) {
alert('You are now logged in!');
}
});
return false;
});