我有一个直接打开的简单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) . ')';

07-24 17:11