我试图使用ajax获取变量的计数,但每次都会使打印失败
这是我测试时完美运行的php文件
<?php
$conn= mysqli_connect("localhost","root","") or die ("could not connect to mysql");
mysqli_select_db($conn,"bdpfe") or die ("no database");
$rech=$_GET['q'];
$sql=mysqli_query($conn,"select count(id_com) as nbr from commentaire where id_pub like '".$rech."' ");
$response = array();
$nbrs = array();
$result=$sql;
while($row=mysqli_fetch_array($result))
{
$nbr=$row['nbr'];
$nbrs[] = array('nbr'=>$nbr);
}
$response['nbrs'] = $nbrs;
echo "mycallbackcom(".json_encode($response).")";
?>
这是使用jsonp
的ajax调用 (function getnbr() {
$.ajax({
type : 'GET',
url : 'http://127.0.0.1:800/test/count_com.php?callback=?&q='+$('#idpub').val() ,
jsonpCallback: 'mycallbackcom',
dataType: 'jsonp',
contentType: "application/json",
success: function (data) {
alert("succes");
},
error: function () {
alert("fail");
}
});
})(jQuery);
现在回调函数为空:
function mycallbackcom()
{}
每次打印都会失败。
答案 0 :(得分:3)
尝试仅返回JSON。您已将此指定为预期的返回dataType。
echo json_encode($response);
然后处理回复:
(function getnbr() {
$.ajax({
type : 'GET',
url : 'http://127.0.0.1:800/test/count_com.php?callback=?&q='+$('#idpub').val() ,
jsonpCallback: 'mycallbackcom',
dataType: 'jsonp',
contentType: "application/json",
success: function (data) {
mycallbackcom(data)
},
error: function () {
alert("fail");
}
});
});
答案 1 :(得分:0)
您需要解析$ _GET变量..
$data = json_decode($_GET['q']);
function mycallback($data) {
//Do something
}
return mycallback($data);