将 jsonp 与 ajax HTML 一起使用

using jsonp with ajax HTML

我有一个简单的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 中的 Network 选项卡显示向

发出请求
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) . ')';
 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>');
          }
    });