绕过跨域限制ajax - jquery和/或iOS

时间:2012-12-29 15:38:30

标签: html ios ajax xcode cross-domain

我有一个iOS应用程序,通过UIWebView加载本地HTML。 HTML通过AJAX连接到jquery。对于HTML,我有一个内容文件夹和一个容器文件夹。 Content文件夹有很多html文件,容器文件夹有一个html文件,按特定顺序在容器文件夹中打开较小的html文件。问题是由于AJAX中的跨域限制,Container HTML不会从容器文件夹加载任何内容。有什么我可以通过Xcode添加,让我通过限制或任何我可以添加HTML / Jquery,让我绕过它吗?提前谢谢!

         //ReplaceDIV
   function loadInDiv(source)
{
//  alert('start');
    $.ajax({
        url: source,
        async: false,
        crossDomain: true,
        success: function(data) {$('#content').append(data);},
    });
//  $.get(source, function(data) {
   //   alert(data);
   //   $('#contents').append(data);
   //   });
    //      $(destination).load(source);
}

1 个答案:

答案 0 :(得分:2)

删除:

crossDomain: true,

你应该全力以赴。

编辑:

据我了解,手头的任务是使用ajax将一个html文件的内容加载到同一服务器上的另一个html文件中。当在UIWebView中从本地资源完成时,该资源将是本地主机请求。来自[JQuery文档:

  

如果要在同一域上强制执行跨域请求(例如JSONP),请将crossDomain的值设置为true。例如,这允许服务器端重定向到另一个域。

在localhost请求中,强制跨域请求会破坏请求,导致它不加载任何内容。另外,作为旁注,跨域请求与您设置的同步请求不兼容:

async: false,