2013-03-12 52 views
1

我正在運行我的local server(localhost:3000)上的Padrino app。我正在公開一個get call/location,它返回一個json響應。我從單獨編寫的JavaScript代碼中訪問此API。下面是我寫:未在jquery中調用成功回調處理程序

$.get("http://localhost:3000/location", function(data) {  
    alert("Inside callback" + data); 
}); 

(PS:使用jquery 1.9.1,試過的getJSON也)的HTTP終點擊中並使用JSON響應,但成功的回調處理程序沒有被調用返回sucess碼200的JavaScript。爲什麼會發生?任何方式來這樣做?

+0

如果你想獲得JSON使用'$ .getJSON '而不是'$ .get'。 (http://api.jquery.com/jQuery.getJSON/) – Kasyx 2013-03-12 11:26:22

+0

也使用getJSON。 – 2013-03-12 11:54:20

回答

0

你在最後缺少一個),如:

$.get("http://localhost:3000/location", function(data) {  
alert("Inside callback" + data); 
}); 

對於JSON,你可能要考慮使用的getJSON代替,並捕捉錯誤,如果出事了。

您還可以使用低級別的Ajax調用,並檢查是否存在錯誤:

$.ajax({ 
    url: 'http://localhost:3000/location', 
    type: 'GET', 
    success: function(data){ 
     alert('success'); 
    }, 
    error: function(request,error) { 
     alert(request.responseText); 
    } 
}); 
+0

嘗試getJSON也失蹤)是一個錯字。請原諒我......任何其他解決方案? – 2013-03-12 11:52:17

+0

服務器返回的是什麼?這可能是它沒有返回正確的響應。 – 2013-03-12 12:07:14

+0

服務器正在返回200 OK響應...這意味着它正確點擊,但在javascript – 2013-03-12 12:08:15

0

嘗試這樣的:

$(document).ready(function(){ 
    $.get("http://localhost:3000/location", function(data) {  
     alert("Inside callback" + data); 
    });// here you are missed closed parenthesis ')' 
}); 
+0

')'是一個錯字。對不起,那...其他任何解決方案? – 2013-03-12 11:53:31

+0

試試我的答案一次,我改變了。 – 2013-03-12 11:56:05

+0

嘿羅漢......我也是這麼做的......能夠打到http端和gettong 200的成功響應(使用螢火蟲驗證過),但在響應中沒有得到任何答案(不包括第一行在我的問題中,但我正在這樣做) – 2013-03-12 12:02:41