2017-06-06 60 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是包含相应值的变量。