Safari/iPhone 和 Opera/Android 中的 JSONP 不起作用
Posted
技术标签:
【中文标题】Safari/iPhone 和 Opera/Android 中的 JSONP 不起作用【英文标题】:JSONP in Safari/iPhone and Opera/Android doesn't work 【发布时间】:2012-05-21 17:02:26 【问题描述】:我正在尝试发出适用于所有桌面浏览器但不适用于 iPhone 和 android 的 JSONP 请求。
我正在对返回 JSONP 的 web 服务进行跨域调用:
myFunction(name : "Jonh", last : "Doe")
$.ajax(
type: "GET",
crossDomain: true,
url: "http://192.168.1.41:8081/Service1/",
dataType: "jsonp",
processData : true,
headers:
"Content-Type": "application/json"
,
jsonp : "myFunction",
jsonpCallback: "myFunction"
);
function myFunction(data)
alert("Hello world!");
它可以在桌面上运行,但不能在移动设备上运行!
有什么想法吗?
【问题讨论】:
查看这篇文章以获得答案:***.com/questions/7747264/… 谢谢它对我帮助很大! :) 【参考方案1】:我的问题是我将 JSONP 请求从 http 服务器(我的开发机器)发送到 https 服务器。
要完全清楚它的样子
从http://localhost.com到https://api.xxx.com的请求
它适用于除移动 safari 之外的所有浏览器。
http -> http = 工作 https -> https = 工作 http -> https = 不工作
【讨论】:
以上是关于Safari/iPhone 和 Opera/Android 中的 JSONP 不起作用的主要内容,如果未能解决你的问题,请参考以下文章
移动端页面 iPhone + Safari 页面调试 之 正确查看网络请求的姿势
Safari iPhone/iPad 中的 Nan 错误日期
CSS 背景位置在 Mobile Safari (iPhone/iPad) 中不起作用