2017-06-06 16 views
0

と機能を得る: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でデータが関数をゲットすることができませんすることができます

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

何が、この場合の正しいエンドポイントすべきですか?

+0

サーバーがURLのクエリ文字列パラメータを期待しているようです。フルURLで試してみましたか? – James

+1

私は... ':A_id'が' 1'でないことを意味します。 –

+0

startTimeとendTimeはユーザーの入力に応じて変更できますが、データを取得するためにajax呼び出しを行うたびに完全なURLを指定する必要がありますか? – 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); 
}); 

いつもあなたを助けるかどうかはわかりませんが、ショットに値すると思っているかどうかは不明です。完全なURLも含める必要があります。ウィキペディアの例としては、"https://en.wikipedia.org/w/api.php"です。つまり、あなたは?に行き、次に?に移動する必要があります。タイプが指定されているかどうかにかかわらず、GET呼び出しではオプションです(jQuery ajax documentationを参照)。

URL全体を貼り付ける代わりに、 url:API_URL + "?startTimeUtc=03:00:00&endTimeUtc=05:00:00"です。私は個人的にデータを使うことを好みますが、それはあなた次第です。

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は、それぞれの値を含む変数です:

+0

混乱して申し訳ありませんが、startTimeUtcとendTimeUtcはユーザーの入力に応じて変更できます – Deidara

+0

HTTPメソッドが明示的にGETされているため、疑問符はエンドポイントAPI_URLから削除する必要があります – vzr

0

あなたのような何かを行うことができます。

関連する問題