android - PhoneGap、jQuery getJSON 和 CORS

标签 android jquery ajax cordova cors

我正在开发一个基于PhoneGap 的移动应用程序。我需要使用 AJAX,我正在使用 jQuery。

我尝试使用 CORS 从 PHP 上的 WS 获取 JSON,但收到错误,并且错误消息为空。我在网络浏览器中测试了代码并且它有效。但是,当我将它与 PhoneGap 一起使用时,它不起作用。我使用 Fecebook WS 在 PhoneGAp 中测试了我的代码,它可以工作。这是我测试过的组合:

测试1
来源:file:///C:/.../index.html(Web 浏览器)
Web服务:http://localhost/.../gettemployees.php
结果:有效

测试2
来源:PhoneGap
Web服务:http://localhost/.../gettemployees.php
结果:不起作用

测试3
来源:PhoneGap
网络服务:https://graph.facebook.com/OldemarshCr
结果:有效

这是代码:

$.getJSON(url, function (data) {console.log(data);})
.success(function() { console.log("second success"); })
.error(function(jqXHR, textStatus, errorThrown) {
console.log('******* '+"error: " + textStatus+' *******');
});

这是 JSON 响应:

{"items":[{"id":"10","firstName":"Kathleen","lastName":"Byrne","title":"Sales Representative","picture":"kathleen_byrne.jpg","reportCount":"0"},{"id":"9","firstName":"Gary","lastName":"Donovan","title":"Marketing","picture":"gary_donovan.jpg","reportCount":"0"},{"id":"7","firstName":"Paula","lastName":"Gates","title":"Software Architect","picture":"paula_gates.jpg","reportCount":"0"]}

谢谢

最佳答案

在ajax调用中,尝试添加

         $.ajax({
                crossDomain: true,                 
                xhrFields: {withCredentials: true}
              });

关于android - PhoneGap、jQuery getJSON 和 CORS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17160251/

相关文章:

java - 如何在 ListView 到达末尾时向其添加项目

Android - 在远程电脑上运行批处理文件

javascript - 在php中执行一个php函数

javascript - 使用此谷歌地图 API 自动完成示例。修改这个函数可以得到经纬度吗?

php - Ajax/jQuery 使用数组填充 Laravel 中的表

java - Opencv xamarin findContours - 如何使用层次结构

android - 如何获取所有单列值然后将其传递给 String[]?

jquery - 在 jQuery 中提取子字符串直到空格

Play Framework 2.1 RC1 中的 AJAX 文件上传传送一个空文件

javascript - 如何从 HTTPS 对 HTTP 时间服务器站点进行 Ajax 调用?