【问题标题】:Ajax, response body is emptyAjax,响应正文为空
【发布时间】:2010-10-14 17:04:31
【问题描述】:

我尝试从服务器 http://someserver12345.com 获取数据,例如,如果我使用 C# DownloadString 下载它或在浏览器中打开它,它会返回带有数据的正文,并且来自 FireBug 的日志内容长度等于数据的大小。所以所有结果都OK;例如响应数据可以是 json 文档,每次服务器返回 json 文档时在浏览器中打开;

但是当我尝试使用 jQuery GET 请求获取数据时,Content-Length 仍然正确,但数据为空!!!

这是我的代码:

<script src="http://code.jquery.com/jquery-latest.min.js"></script>    
<script>
    $(document).ready(function() {

        $.ajaxSetup({
            beforeSend: function(request) {
                request.setRequestHeader('Accept', 'application/json');
            }
        });

        $.ajax({
            type: 'GET',
            url: 'http://someserver12345.com',
            success: callback
        });

        function callback(data, status) {
            alert(data);
            //$('div').text(data);
        }

    });
</script>

在回调函数中发现数据不是空对象;

我是新手,请帮助我;)任何想法和建议都会很酷!;)

谢谢!!!

【问题讨论】:

  • 既然你已经在使用firebug,请尝试使用console.log(data);而不是alert(data);
  • console.log(data) 返回“(空字符串)”

标签: jquery ajax http


【解决方案1】:

您需要使用 JSONP 向另一个域发送 AJAX 请求。

http://remysharp.com/2007/10/08/what-is-jsonp/

【讨论】:

    猜你喜欢
    • 2013-11-22
    • 1970-01-01
    • 2016-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多