猿问

如何在服务器上启用跨域请求?

我的服务器上托管了一个json文件。当我尝试向json文件发出Ajax“ GET”请求时,它失败。


请参阅Safari中的控制台,其中显示“无法加载资源”。


Firebug显示“ 200 OK”,但未显示响应。甚至Firebug也不会显示JSON标签。


我相信这是因为不允许使用AJAX进行跨域请求。


我想知道如何克服这个问题?另外,如果我想在服务器上启用跨域请求,则认为crossdomain.xml需要创建文件或其他内容。我不确定,但这就是我所知道的。我在Google上搜索,但找不到任何相关链接。


在这方面的任何帮助都将受到高度赞赏。


谢谢。


更新: 我没有使用任何服务器端脚本语言(PHP,ASP.NET等)。我正在使用普通HTML和JavaScript / jQuery。


UPDATE-2:


我使用以下代码进行跨域请求:


<script src="jquery-1.6.2.js"></script>

  <script>

  $(document).ready(function () {

    $.ajax({

      dataType: 'jsonp',

      data: '',

      jsonp: 'jsonp_callback',

      url: 'http://myhosting.net/myjsonfile.json',

      success: function (jsonData) {

        alert("success")

        alert(jsonData);

      },

      error: function(errorObj) {

        alert(errorObj.statusText);


      },

    });

});

当我在Firebug的“网络”标签中看到时,我看到一个JSON标签,并且能够看到JSON响应。但是,不会调用“成功”回调处理程序,但是会调用“错误”回调处理程序,并且我得到警告说parseerror。


知道有什么问题吗?


慕尼黑8549860
浏览 738回答 3
3回答

湖上湖

把它放在你的.htaccess和普通的ajax作品中<ifModule mod_headers.c>&nbsp; &nbsp; Header set Access-Control-Allow-Origin: *</ifModule>
随时随地看视频慕课网APP

相关分类

JQuery
我要回答