PHP Web服务无法使用jQuery AJAX

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

形成的本地url是……

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

问题:

当我使用jQuery.ajax调用它时,总是调用错误回调函数。

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服务,它返回响应为…

  {"UserID":"180339206","LogInName":"Amol Chakane","IsValid":"True","UserRoleID":"1","IsPending":"0","IsOrganization":"False"} 

来自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", 

}

仍然没有工作:(

谢谢

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

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

而不是localhost需要使用10.0.2.2这个网络地址coz 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"); } }); 

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

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