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"); } });
但现在我面临另一个问题……
如何访问成功回调中返回的数据?