Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/94.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Phonegap web app在iOS上对web的JQuery AJAX调用停止工作_Ios_Ajax_Jquery_Cordova - Fatal编程技术网

使用Phonegap web app在iOS上对web的JQuery AJAX调用停止工作

使用Phonegap web app在iOS上对web的JQuery AJAX调用停止工作,ios,ajax,jquery,cordova,Ios,Ajax,Jquery,Cordova,我有一个用HTML5、Javascript和css3编写的应用程序,使用PhoneGap为iOS和Android编译。它收集调查信息并通过Ajax调用将其上传到在线主机。它一直工作得很好,直到最近上传代码似乎停止工作。不完全是这样!在iPad上,它说它成功了,但事实上,没有任何东西能让它进入主机。这很奇怪。我试着根据这里的文章重新编写Ajax调用,但没有成功 iOS-6.1.3,PhoneGAP 2.7.0,使用PhoneGAP/Adobe构建 这是上传的片段 function sendToWe

我有一个用HTML5、Javascript和css3编写的应用程序,使用PhoneGap为iOS和Android编译。它收集调查信息并通过Ajax调用将其上传到在线主机。它一直工作得很好,直到最近上传代码似乎停止工作。不完全是这样!在iPad上,它说它成功了,但事实上,没有任何东西能让它进入主机。这很奇怪。我试着根据这里的文章重新编写Ajax调用,但没有成功

iOS-6.1.3,PhoneGAP 2.7.0,使用PhoneGAP/Adobe构建

这是上传的片段

function sendToWeb(){
var errorflag = false;
db.transaction(function (tx) {
    tx.executeSql("SELECT weburl FROM settings", [], function(tx, results){
        var webURL = results.rows.item(0).weburl;
            tx.executeSql("SELECT * FROM surveypretransfer WHERE uploaded = '0'",[], function(tx, results){
                if (results.rows.length == 0) {
                    alert("You have no surveys waiting to upload");
                } else {
                    alert("You have " + results.rows.length + " surveys waiting to upload");
                    for (var i=0; i < results.rows.length; i++) {
                        var responseURL = webURL + "/feeds/saveinfo.php";
                        var responseString = results.rows.item(i).responsestring;

                        var localid = results.rows.item(i).id;
                        //alert(localid);
                        $.ajax({
                            type: 'POST',
                            data: responseString,
                            url: responseURL,
                            timeout: 30000,
                            success: function(data) {
                                alert('Success!' + data.join('\n'));

                            },
                            error: function(data) {
                                alert(data.join('\n'));
                                console.log("Results: " + localid);
                                alert("Error during Upload.  Error is: "+ data.statusText);
                            }
                        }); //ajax
                    }; //for loop
                    alert("You have successfully uploaded "+ results.rows.length + " survey results");
                    tx.executeSql("UPDATE surveypretransfer SET uploaded = '1' WHERE uploaded = '0'");
                }; //if statement
            });  //tx.execute
    }); 
}, errorCB);
}

仍然没有结果。是否有人看到/有类似问题?有人看到我的错误了吗?

对于iOS,您可能希望尝试
来支持
子域
属性

如果这不能解决您的问题,您可能需要研究CORS(跨源资源共享)。我在尝试从我的应用程序向iOS上的本地端口发送
POST
请求时遇到问题。W3C有一个可能会有所帮助的解决方案。我知道在我的例子中,系统会先尝试执行
OPTIONS
请求,如果它不起作用,整个过程就会失败

您可能会发现另一个有用的工具(如果不是现在,将来)是。您可以通过桌面将iPad设置为代理,然后您将能够观察到进出设备的所有请求。我就是这样找到上面提到的
选项
请求的

Config.XML contains app id = "com.mydomain.myapp" (as an example)
URL for upload is "http://customer.mydomain.com/feeds/saveinfo.php?..."
Also added line 'access origin="http://mydomain.com" subdomains="true" '