2017-06-06 59 views
0

功能我在服務器上的端點:阿賈克斯獲得與端點

app.get('/A/:A_Id/B/:B_Id/C?', callbackFunction); 

後,我鍵入「http://xx.xx.xx.xx:3000/A/1/B/1/C?startTimeUtc=03:00:00&endTimeUtc=05:00:00」服務器與callbackFunction參數數據來響應,我可以看到在地址http://xx.xx.xx.xx:3000/A/1/B/1/C?startTimeUtc=03:00:00&endTimeUtc=05:00:00(在startTimeUtc和endTimeUtc數據可以根據用戶輸入的改變), 但我不能用Ajax get函數來獲得數據:

$.ajax({ 
     type: 'GET', 
     url: '/A/:A_ID/B/:B_ID/C?', success: function(result){ 
     // result is NaN 
} 

應該是什麼在這種情況下,正確的端點?

+0

它看起來像服務器期待URL中的查詢字符串參數。你有沒有嘗試完整的工作網址? – James

+1

我的意思是......':A_id'不是'1'。 –

+0

我的意思是startTime和endTime可以根據用戶輸入而改變,我是否必須每次都提供完整的url以便ajax調用來檢索數據? – Deidara

回答

0

首先,你實際上沒有提供任何數據給ajax調用。

API_URL = "http://xx.xx.xx.xx:3000/A/" + A_ID + "/B/" + B_ID + "/C" 
$.ajax({ 
    type:'GET', //mostly here for readability; is default for ajax 
    url:API_URL, 
    data:{ 
     startTimeUtc:user_input_for_start_time 
     endTimeUtc:user_input_for_end_time 
    } 
}).done(function(result){ 
    console.log(result); 
}).always(function(result, status){ 
    console.log(result); 
    console.log(status); 
}); 

不知道總是會幫助你,但認爲它可能值得一試。您還需要包含完整的網址。作爲一個wikipedia api的例子,它會是:"https://en.wikipedia.org/w/api.php"。即你只需要去?,然後?對於GET調用是可選的(無論類型是否提供,請參見jQuery ajax documentation)。

另一種方法是粘貼整個URL: url:API_URL + "?startTimeUtc=03:00:00&endTimeUtc=05:00:00"。我個人更喜歡使用數據,但這完全取決於你。

+0

抱歉讓人困惑,但startTimeUtc和endTimeUtc可以根據用戶輸入進行更改 – Deidara

+0

問號應該從端點API_URL中剝離,因爲HTTP方法是顯式的GET – vzr

0

你可以這樣做:

var url = "http://xx.xx.xx.xx:3000/A/" + A_ID + "/B/" + B_ID + "/C?startTimeUtc=" + startTime + "&endTimeUtc=" + endTime; 

$.get(url, function(data) { 
    console.log(data); 
}); 

A_IDB_IDstartTimeendTime是包含相應值的變量。