Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将jsonp与ajax HTML结合使用_Javascript_Php_Jquery_Ajax_Jsonp - Fatal编程技术网

Javascript 将jsonp与ajax HTML结合使用

Javascript 将jsonp与ajax HTML结合使用,javascript,php,jquery,ajax,jsonp,Javascript,Php,Jquery,Ajax,Jsonp,我有一个简单的html页面,可以直接打开,file://abc.html 它有以下代码 $.ajax({ url: "http://localhost:8080/ajax_info.php", dataType: "jsonp", jsonp: 'jsoncallback', success: function(data) { alert(data); } }); ajax_in

我有一个简单的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
收到回复后,您好,但我没有收到警报框


当我执行页面时,它没有显示任何内容(无警报框),我应该在其中显示hello警报,我是否做错了什么?

尝试将此功能添加到您的功能中:

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

尝试将此功能添加到您的:

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) . ')';
这段代码很好,请确保Ajax连接正常工作。 要知道您可以使用
错误:
参数

$.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>');
          }
    });
$.ajax({
url:“http://localhost:8080/ajax_info.php",
数据类型:“jsonp”,
jsonp:'jsoncallback',
成功:功能(数据){
警报(数据);
},
错误:函数(){
$('#info').html('发生错误

'); } });
这段代码很好,请确保Ajax连接正常工作。 要知道您可以使用
错误:
参数

$.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>');
          }
    });
$.ajax({
url:“http://localhost:8080/ajax_info.php",
数据类型:“jsonp”,
jsonp:'jsoncallback',
成功:功能(数据){
警报(数据);
},
错误:函数(){
$('#info').html('发生错误

'); } });
我已经试过了,上面写着未捕获引用错误:hello未定义我已经添加了服务器应该做什么的解释。基本上服务器应该响应工作的javascriptyou真的需要jsonP吗?它仅用于跨域ajax请求。是的,我有一个文件://html文件向跨域LAN web服务器发出请求,谢谢这一帮助。如果您控制后端,则使用CORS更便宜。在nginx设置中Cople分钟,您就完成了。没有人已经在使用jsonP了,因为它既丑陋又粗糙,您必须为常规请求和jsonP请求编写不同的模板……我已经尝试过了,它说未捕获引用错误:hello没有定义我已经添加了解释服务器应该做什么。基本上服务器应该响应工作的javascriptyou真的需要jsonP吗?它仅用于跨域ajax请求。是的,我有一个文件://html文件向跨域LAN web服务器发出请求,谢谢这一帮助。如果您控制后端,则使用CORS更便宜。在nginx设置中Cople分钟,您就完成了。没有人已经在使用jsonP了,因为它既丑陋又粗糙,你必须为常规请求和jsonP请求编写不同的模板……“ajax_info.php中只有echo‘hello’。-jsonP不是这样工作的。@JasonP它应该有什么,我只是在制作PoC“ajax_info.php中只有echo‘hello’。”-这不是jsonp的工作方式。@JasonP它应该有什么,我只是在做Poc,实际上我需要编辑php作为第一个答案,它应该返回,FUNCTIONNAME('DATA\u I\u WANT\u return);实际上,我需要编辑php作为第一个答案,它应该返回,FUNCTIONNAME('DATA\u I\u WANT\u to\u return);