将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中的网络选项卡显示向发出请求

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>');
          }
    });