我有一个直接打开的简单html页面,文件://abc.html
它具有以下代码
$.ajax({
url: "http://localhost:8080/ajax_info.php",
dataType: "jsonp",
jsonp: 'jsoncallback',
success: function(data) {
alert(data);
}
});
ajax_info.php仅在其中回显“ hello”。
每次重新加载时,Chrome中的“网络”标签都会显示对
http://localhost:8080/ajax_info.php?jsoncallback=jQuery1111016803214247142373_1471278920224&_=1471278920236
和你好作为收到答复,但我没有得到警报框。
当我执行该页面时,它什么都没有显示(没有警报框),应该打招呼,其中有错误吗?
最佳答案
尝试将此功能添加到您的功能中:
function jsoncallback(json){
alert(json);
}
编辑:并且当您要使用JSONP时,服务器应在您想要的函数中回显参数:
在服务器上执行此操作
echo 'jsoncallback("hello!")';
或这个:
echo 'jsoncallback('. json_encode($some_data) .')';
当然,“ jsoncallback”是用户函数的名称,任何用户都可能想要更改,因此您必须正确地进行操作:
echo $user_sent_me_this_name . '(' . json_encode($some_data) . ')';