我有一个 jquery ajax 调用,我正在使用 jsonp 进行跨域。 代码是:
$.support.cors = true;
$.allowCrossDomainPages = true;
$.ajax({
dataType: 'jsonp',
type: "POST",
url: "http://my-url.com/getSearchResults.php",
data: {
userId: localUserId,
searchLocation: decodeURIComponent(searchLocation),
searchCategory: searchCategory
}
})
.done(function(items) {
alert(items);
});
当我在普通浏览器中运行它时,我会进入警报框 [object object],但当我在 android 移动浏览器上运行它时,它会返回一个空白的警报框。
我的 PHP 包含允许跨域的 header 。
ajax 调用(对象)的实际响应是这样的:
[{
"address": "London Road, Brighton, United Kingdom",
"details": {
"id": "1",
"name": "kav 2",
"logo": "user_content\/1167327737_images.jpg",
"favorite": "0",
"feedback": 0
}
}];
过去 3 天我一直在努力寻找解决方案。谁能帮忙?
最佳答案
我花了一段时间,但我找到了解决方案。
即使数据类型 jsonp 的 Ajax 调用总是通过 $_GET 发送,无论您在类型中输入什么,对于 android 浏览器,如果您输入类型 POST,它们将作为 $_POST 发送。
一旦我将类型更改为 GET,一切又开始工作了。
关于javascript - Jquery ajax 调用不适用于 android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30569403/