javascript - Jquery ajax 调用不适用于 android

标签 javascript php android jquery ajax

我有一个 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/

相关文章:

javascript - jquery select2 : TypeError: b. 数据适配器为空

javascript - JQuery 日期选择器无法正常工作

php - 如何在库存/价格检查后自动提交自定义 PayPal 购物车

php - "MySQL server has gone away"后跟 "Got a packet bigger than ' max_allowed_pa​​cket ' bytes"

android - 检查 DialogFragment 中的 EditText 值

javascript - 在 Anime.js 中使用 SVG 对象 HTML

javascript - 创建后向 (primefaces) jquery 日历添加选项

javascript - 如何发送多个文件到Github?

java - 自定义样式中的 secondaryTextColor 不起作用

android - 单击标记从谷歌地图底部滑入 View