扫码关注官方订阅号
求解,如何解决呢?另外一个域名走是OK的,但这个域名死活不走,前端代码如下:
后端代码如下:
认证0级讲师
谢谢各位,总算找到答案了,还是没配置一个方法。我技术总监找出来的。
少了这玩意,因为jsonp是固定的格式,这方法组织了这一格式。
接口没处理callback吧?
写法没有错,估计是服务器端返回的不是jsonp格式,回调处理失败了。$.ajax 默认的jsonp回调参数是?callback=_XXXX,看看后台处理和返回是否正确。
jsonp
?callback=_XXXX
服务器return的值错了呀 你返回的是空值啊看上去 如果有一个什么 {"result":"successful"} 之类的试试?
{"result":"successful"}
Javascript:添加
$.ajax({ .... jsonp:'jsonp_callback', <- 指定callback回调函数名 .... })
jQuery会使用AJAX GET请求一个 /url/?callback=jsonp_callback 的URL然后会执行 jsonp_callback(result)的JavaScript的回调
/url/?callback=jsonp_callback
jsonp_callback(result)
function(){ return string; }
javascript收到的就会是一个String类型的输出。并不是JSON。不是JSON就DIE掉了。
function (){ // 这里是callback还是jsonp_callback忘了。具体百度一下 return $_GET['callback']."(".json_encode($string).")"; // 实际返回并输出的将会是: `jsonp_callback("string")` }
update
看图说话:ajax请求地址为http://baidu.com实际请求地址为http://baidu.com/?callback=xxxxxxx&_=xxx&_=xxxx
http://baidu.com
http://baidu.com/?callback=xxxxxxx&_=xxx&_=xxxx
为什么不用数字代替返回内容啊。
dataType与返回值不符,建议把这个参数拿掉让jquery自动识别返回值。另外这不是jsonp吧?
跨域请求要返回函数,而不是返回json串
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
谢谢各位,总算找到答案了,还是没配置一个方法。我技术总监找出来的。
少了这玩意,因为jsonp是固定的格式,这方法组织了这一格式。
接口没处理callback吧?
写法没有错,估计是服务器端返回的不是
jsonp格式,回调处理失败了。$.ajax 默认的
jsonp回调参数是?callback=_XXXX,看看后台处理和返回是否正确。服务器return的值错了呀 你返回的是空值啊看上去 如果有一个什么
{"result":"successful"}之类的试试?Javascript:添加
jQuery会使用AJAX GET请求一个
/url/?callback=jsonp_callback的URL然后会执行
jsonp_callback(result)的JavaScript的回调javascript收到的就会是一个String类型的输出。并不是JSON。不是JSON就DIE掉了。
update
看图说话:
ajax请求地址为
http://baidu.com实际请求地址为
http://baidu.com/?callback=xxxxxxx&_=xxx&_=xxxx为什么不用数字代替返回内容啊。
dataType与返回值不符,建议把这个参数拿掉让jquery自动识别返回值。
另外这不是jsonp吧?
跨域请求要返回函数,而不是返回json串