我有一个简单的html页面,可以直接打开,file://abc.html
它有以下代码
$.ajax({
url: "http://localhost:8080/ajax_info.php",
dataType: "jsonp",
jsonp: 'jsoncallback',
success: function(data) {
alert(data);
}
});
ajax_info.php中只有echo"hello"。
每次重新加载时,chrome中的网络选项卡显示向发出请求
http://localhost:8080/ajax_info.php?jsoncallback=jQuery1111016803214247142373_1471278920224&_=1471278920236
收到回复时打招呼,但我没有收到提醒框。
当我执行页面时,它什么都不显示(没有警报框(,我应该得到警报,里面有你好,我做错了什么吗?
尝试将此函数添加到您的函数中:
function jsoncallback(json){
alert(json);
}
EDIT:当你想使用JSONP时,服务器应该在你想要的函数中回显params:
在服务器上执行此操作
echo 'jsoncallback("hello!")';
或者这个:
echo 'jsoncallback('. json_encode($some_data) .')';
当然,"jsoncallback"是用户函数的名称,任何用户都可能想要更改,所以你必须以正确的方式进行:
echo $user_sent_me_this_name . '(' . json_encode($some_data) . ')';
success: function(data) {alert(data);}
这段代码很好,请确保Ajax连接正常工作。要知道您可以使用error:
参数。
$.ajax({
url: "http://localhost:8080/ajax_info.php",
dataType: "jsonp",
jsonp: 'jsoncallback',
success: function(data) {
alert(data);
},
error: function() {
$('#info').html('<p>An error has occurred</p>');
}
});