我在Phonegap应用程序中发出了一个AJAX请求。代码是:
function remoteCall()
{
alert("Remote call func called");
try
{
$.ajax({
url: 'http://192.168.1.200/testing/testConn.php',
contentType: "application/json; charset=utf-8",
dataType:"json",
success: function(data)
{
if(data == '')
alert("No data received from server");
else
alert("Data received from server = "+data.postcode);
},
error: function(jqXHR, textStatus, errorThrown)
{
console.log(textStatus);
alert('FAIL !!!');
},
});
}//end of try().
catch(e)
{
alert("error = "+e.message);
}
}//END OF FUNC remoteCall.
我还在<head>
中添加了以下行以避免jQuery冲突。
<script>jQuery.noConflict();</script>
我的服务器端文件是:
<?php
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: X-Requested-With");
$retArray = array();
$retArray['postcode']= 'm14';
$retArray['brand']= '1';
$retArray['product_type']= '1';
$jsondata = json_encode($retArray);
return $jsondata;
?>
我收到第一条警告信息,但后来我收到错误,“$ is not undefined”。我不知道如何解决这个问题;有人可以帮忙吗?
我能够克服“$ is undefined”的错误,现在我没有收到任何错误,而且我没有得到任何输出......
答案 0 :(得分:2)
确保在添加包含代码的js文件之前添加jquery文件。
答案 1 :(得分:1)
<script>jQuery.noConflict();</script>
表示您必须将jQuery对象称为jQuery
而不是$
。将您的参考文献从$
更改为jQuery
,它应该有效。
答案 2 :(得分:0)
我解决了我的问题...... :)
以下行解决了我的$和jQuery问题
<script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.7.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.10/jquery-ui.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
(感谢Ali和cfs :))
在服务器文件中,我改变了返回echo
<?php
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: X-Requested-With");
$retArray = array();
$retArray["postcode"]= "m14";
$retArray["brand"]= "1";
$retArray["product_type"]= "1";
$jsondata = json_encode($retArray);
echo $jsondata;
?>
现在我可以获取服务器详细信息。
感谢所有回复....:)