2012-09-17 39 views
0

我尝试了下面的代码来创建一个HTTP GET请求来从服务器获取一些数据。看起来,HTTP请求根本没有到达服务器。我在这里错过了什么吗?我也尝试过$.get(url, function(data){alert(data);}, "json").error(onHttpError)。但没有运气。

$(document).ready(function() 
{ 
    $.getJSON(url, onHttpSuccess).error(onHttpError); 

    /** 
    *onHttpSuccess 
    */ 
    function onHttpSuccess(response) 
    { 

     alert("ASG Data Received:" + response); 
    } 

    /** 
    *onHttpError 
    */ 
    function onHttpError() 
    { 
     var  errorMsg  = "HTTP Error!!!"; 

     $('#message').html(errorMsg); 

     alert(errorMsg); 
    } 
}); 

专家,请帮忙。谢谢!

DK

+2

那么'url'定义在哪里?你是否在同一台服务器上调用文档? –

+1

'url'的价值是什么?这是正确的网址吗?是否与发出请求的页面一样的协议,域,端口等? –

+0

您是否尝试在onHttpError方法声明之后移动您的$ .get或$ .getJSON调用? –

回答

1

不知道这是答案,但我已经运行到了AJAX调用工作正常很多情况下,但JSON从服务器返回没​​有被jQuery的解析,所以整个操作似乎失败了。

通常原因在于服务器没有指定响应的内容类型,但无论是什么原因,下一个问题解决步骤将执行$ .get请求而不指定“json”作为返回类型。尝试指定“text”作为返回类型并查看是否从服务器获得响应。

有时候我甚至有幸以纯文本形式接收服务器响应,然后在成功函数中手动运行JSON.parse()。

0

是的。此代码之前已定义网址,并且该网址是有效的网址。我的意思是,当我直接在浏览器中使用该URL并按回车时,我看到服务器接收到请求并发送响应。