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
jquerymobile中ajax调用中的绝对/相对地址_Ajax_Jquery Mobile - Fatal编程技术网

jquerymobile中ajax调用中的绝对/相对地址

jquerymobile中ajax调用中的绝对/相对地址,ajax,jquery-mobile,Ajax,Jquery Mobile,下面的代码在iPad和iPhone(4,5)的Safari和Chrome中运行良好。相反,ajax调用在Android设备和桌面浏览器中不起作用(直接运行到onError函数) 当我将绝对URL替换为相对URL时,这两组的成功/失败结果是相反的 我如何解决这个问题(我正在运行jQueryMobile1.3.0测试版)?谢谢/布鲁斯 $(document).ready(function() { $("#submit").click(function(){ var formData = $("#

下面的代码在iPad和iPhone(4,5)的Safari和Chrome中运行良好。相反,ajax调用在Android设备和桌面浏览器中不起作用(直接运行到onError函数)

当我将绝对URL替换为相对URL时,这两组的成功/失败结果是相反的

我如何解决这个问题(我正在运行jQueryMobile1.3.0测试版)?谢谢/布鲁斯

$(document).ready(function() {
$("#submit").click(function(){
  var formData = $("#loginf").serialize();
  $.ajax({
    type: "POST",
    url: "http://mydomain.org/m2/scripts/site/bpg_process.asp?id=lg",
    cache: false,
    data: formData,
    dataType: 'json',
    success: onSuccess,
    error: onError
  });
  return false;
});
});

您知道不允许跨域Ajax调用吗? 您的问题可能与发出请求的URL有关,而不是与正在测试的浏览器有关。 有关更多详细信息,请阅读以下内容:

这里对您来说很重要的一点是,该策略排除了不同的子域。 例如,如果您从发送请求到,它将失败,反之亦然

在您的情况下,我通常使用完整的URL“
/m2/scripts/site/bpg_process.asp?id=lg
”,不带协议和主机,但带有起始“/”,因此可以从URL树中的任何位置引用它

您正在使用的“相对URL”是什么,而“不起作用”?

就像darma提到的那样。“不允许跨域Ajax调用”

改用绝对“本地”路径

链接开头的斜杠“/”指向文档根目录

如果需要引用外部域,请使用ajax调用本地.asp文档,该文档将为您调用外部页面并以json格式返回所需的数据


我不确定这在asp中是什么,但在php中,curl可以工作

在android设备中,返回给OneError函数的消息是什么?谢谢。协议中的URL就是解决方案。谢谢你抽出时间。布鲁斯