0

我在 jomsocial 环境中创建了 Restful Web 服务。它在本地机器上。当我使用 REST 控制台对其进行测试时,它会返回响应。

形成的本地网址是...

http://localhost:5454/kisan-06/index.php?option=com_api&format=raw&app=users&resource=login&key=dfd8a84f8cdce807ae1d30a838415ea37eaa075c

问题:

当我使用 jQuery.ajax 调用相同的函数时,总是会调用错误回调函数。

阿贾克斯调用是...

$.ajax({
    type: "POST",
    url: "http://localhost:5454/kisan-06/index.php?option=com_api&format=raw&app=users&resource=login&key=dfd8a84f8cdce807ae1d30a838415ea37eaa075c",
    data: "{ username: 'sai.kiks2@gmail.com', password: '123456'}",
    contentType: "application/json; charset=utf-8",
    cache : false,
    dataType: "json",
    success: function(data) {
        alert("in success");
    },
    error: function(jqXHR,error, errorThrown){
        //alert("There was an error loggin in");
        alert("responseXML ",jqXHR.responseXML);
        alert("responseText: ",jqXHR.responseText);
        alert("errorThrown: ",errorThrown);
    }
});

我有一个 asp.net Web 服务,它返回响应为...

<?xml version="1.0" encoding="utf-8"?>
<string>{"UserID":"180339206","LogInName":"Amol Chakane","IsValid":"True","UserRoleID":"1","IsPending":"0","IsOrganization":"False"}</string>

来自 jomsocial 网络服务的响应是...

["UserID : 475", "LogInName : kruti patil", "IsValid : True", "UserRoleID : 1", "IsPending : 0", "IsOrganization : False"]

我搜索了这个问题,但找不到解决方案。请帮助我。

编辑#1

试图以其他格式获得响应。

{
"UserID": "475",
"LogInName": "kruti patil",
"IsValid": "Yes",
"UserRoleID": "1",
"IsPending": "NO",
"IsOrganization": "No",

}

仍然无法正常工作:(

谢谢

4

2 回答 2

0

当您发布更多信息时,我我找到了您遇到麻烦的原因。根据页面,您的 json 对象的语法是错误的。链接页面显示了 Javascript 中最常见数据类型的示例。如果您阅读示例,请注意引号的位置。

于 2012-08-20T13:23:40.590 回答
0

经过大量搜索,我终于找到了解决这个问题的方法。:)

而不是localhost需要使用10.0.2.2这个网络地址因为 android 模拟器不识别 localhost 参考这个

现在至少调用了成功回调

ajax 调用是..

$.ajax({
    type: "POST",
    url: "http://10.0.2.2:5454/kisan-06/index.php?option=com_api&format=raw&app=users&resource=login&key=dfd8a84f8cdce807ae1d30a838415ea37eaa075c",
    data: {username: 'sai.kiks2@gmail.com', password: '123456'},
    success: function(data, textStatus, jqXHR) {
        alert("in success");
    },
        error: function(jqXHR, textStatus, errorThrown){
            alert("There was an error loggin in");
        }
});

但现在我面临另一个问题......

如何访问成功回调中返回的数据?

于 2012-08-24T10:09:30.433 回答