Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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
jQuery Ajax响应:在浏览器中工作,在移动设备上为空_Jquery_Ajax - Fatal编程技术网

jQuery Ajax响应:在浏览器中工作,在移动设备上为空

jQuery Ajax响应:在浏览器中工作,在移动设备上为空,jquery,ajax,Jquery,Ajax,第一个帖子在这里。我有一个我认为与安全相关的问题,但我真的不确定 我正在使用PhoneGap(基本上是一个带有jQuery/CSS的HTML页面)构建一个移动应用程序。我打电话给一个.asmx webservice,如下所示: $.ajax({ type: "POST", url: "http://mydomain.com/customPage.asmx/LoginMember", data: memberData, contentType: "appli

第一个帖子在这里。我有一个我认为与安全相关的问题,但我真的不确定

我正在使用PhoneGap(基本上是一个带有jQuery/CSS的HTML页面)构建一个移动应用程序。我打电话给一个.asmx webservice,如下所示:

$.ajax({ 
    type: "POST", 
    url: "http://mydomain.com/customPage.asmx/LoginMember", 
    data: memberData, 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: function(msg) { 
            alert("This is my message: " + msg); 
    }, 
    error: authenticateFailed 
    }); 
当我使用我的桌面(Mac、Safari)进行测试时,调用成功。我的'msg'变量包含一些字符串格式的XML。一切都好。以下是我的警报在呼叫成功且数据存在时显示的内容:

<User><Membership><Item>MemberLoginStatus</Item><Type>XML</Type><Status>1</Status><Description>Succeeded</Description></Membership></User>
memberloginstatusxml1succeed
但当我把同样的代码移到我的设备(iPhone、PhoneGap)上时,会发生其他事情。调用仍然成功,并且我的success函数启动,但我的'msg'变量没有数据。我收到此警报:“这是我的消息:null”

我已经试着对此进行了研究,但似乎无法确定问题的真正根源是什么。我不认为这是我的代码,但我不确定这是否是jQuery、PhoneGap或其他完全不同的问题

到目前为止,我最好的猜测是这是某种安全问题。我注意到,当我在Chrome上测试时,我得到了与我在设备上相同的“空”响应。这可能是由于“同一原产地政策”造成的吗

我试着把我的问题发布到PhoneGap谷歌集团,jQuery论坛上,但没有得到太多的爱。我将非常感谢任何想法/建议,我希望这里的其他人以前也遇到过这种行为

谢谢! -费利克斯


//编辑:修复了url输入错误。添加了成功的响应数据。

在您的代码中,您缺少url属性的请求报价


假设这只是一个输入错误,您是否尝试过在桌面safari中切换用户代理?(必须启用开发者菜单项)。将您的用户代理切换到“iPhone”并查看是否得到空响应。

在代码中,您缺少url属性的恳求引号


假设这只是一个输入错误,您是否尝试过在桌面safari中切换用户代理?(必须启用开发者菜单项)。将您的用户代理切换到“iPhone”并查看是否得到空响应。

好的,问题是我是个白痴。我正在测试的域是一个子域,除此之外。。。这不是一个公共网站。我在我的机器上的主机文件中有IP地址,但(当然)在我的iPhone上没有

当我尝试在另一个/公共站点上测试时,我们在这里。。。我现在可以在我的设备上看到数据

非常感谢Haochi和typeof,感谢您的及时回复。在我发布问题的所有其他网站中,你们发布一些想法的速度非常快。特别是,是typeof关于这个领域的问题让我思考并意识到错误来自何方

我现在觉得我一直在试图用我的钥匙进入我的房子。。。我一直站在错误的房子前面。令人难以置信的尴尬。但我现在看到了数据,这才是最重要的


再次感谢

好吧,问题是我是个白痴。我正在测试的域是一个子域,除此之外。。。这不是一个公共网站。我在我的机器上的主机文件中有IP地址,但(当然)在我的iPhone上没有

当我尝试在另一个/公共站点上测试时,我们在这里。。。我现在可以在我的设备上看到数据

非常感谢Haochi和typeof,感谢您的及时回复。在我发布问题的所有其他网站中,你们发布一些想法的速度非常快。特别是,是typeof关于这个领域的问题让我思考并意识到错误来自何方

我现在觉得我一直在试图用我的钥匙进入我的房子。。。我一直站在错误的房子前面。令人难以置信的尴尬。但我现在看到了数据,这才是最重要的


再次感谢

这可能不是一个安全问题,因为如果是,它就不会执行
success
函数,但当然,您可能希望从
url
中取出“”,并对其进行测试,以防万一。我很困惑,如果您将字符串作为
json
对象返回,为什么要在字符串后面追加
msg
。。。然后你说它包含一些“XML”…:-/你好,Haochi-url必须是绝对的,因为这最终将是一个独立的应用程序。我正在添加'msg'变量,以便查看返回的数据。您能更新您的帖子以包含返回值吗?已更新!我正在访问Web服务并使用提供的文档。虽然我的数据类型是JSON,但实际上我得到的是一个字符串格式的XML。仅供参考,我尝试过将数据类型更改为各种类型(html、文本、xml、脚本),但没有成功。嗯,您应该将输出转换为服务器端。简单地告诉jQuery您需要JSON格式并不能神奇地将输出变成JSON。这可能不是一个安全问题,因为如果是这样,它就不会执行您的
success
函数,但当然您可能希望从
url
中取出“”,并测试它,以防万一。我很困惑,如果您将字符串作为
json
对象返回,为什么要在字符串后面追加
msg
。。。然后你说它包含一些“XML”…:-/你好,Haochi-url必须是绝对的,因为这最终将是一个独立的应用程序。我正在添加'msg'变量,以便查看返回的数据。您能更新您的帖子以包含返回值吗?已更新!我正在访问Web服务并使用提供的文档。虽然我的数据类型是JSON,但实际上我得到的是一个字符串格式的XML。仅供参考,我尝试过将数据类型更改为各种类型(html、文本、xml、脚本),但没有成功。嗯,您应该将输出转换为服务器端。简单地告诉jQuery您希望它是JSON格式并不能神奇地生成JSON输出。啊,是的,这是我的打字错误。我不知道