Javascript 将jsonp与ajax HTML结合使用
我有一个简单的html页面,可以直接打开,file://abc.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
$.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);