Ajax通过端点获取功能

时间:2017-06-06 20:30:10

标签: javascript jquery node.js ajax

我在服务器上有一个端点:

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
}

在这种情况下,正确的终点应该是什么?

2 个答案:

答案 0 :(得分: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);
});

不确定总是会对你有所帮助,但认为这可能值得一试。您还需要包含完整的URL。作为维基百科api的例子,它是:"https://en.wikipedia.org/w/api.php"。即你只需要去?,然后呢?对于GET调用是可选的(无论是否提供类型,请参阅jQuery ajax documentation)。

另一种方法是粘贴整个网址: url:API_URL + "?startTimeUtc=03:00:00&endTimeUtc=05:00:00"。我个人更喜欢使用数据,但这完全取决于你。

答案 1 :(得分: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是包含相应值的变量。