2017-03-15 3 views
0

/users/{userId}/orders/{orderId}(私はパスパラメータに注意してください)にRestサービスを持っていて、それをJQueryから呼び出したいと思います。JQuery AJAX URL休憩パスパラメータ

私は単純にそうようなIDを連結し、それを行うことができます:

$.get(
    'users/' + 1234 + '/orders/' + 9876, 
    function (data) { 
     //do something with the response 
    } 
); 

しかし、(それが仕事をしていませんが)、これはそれを行うのは非常に正しい方法のように見えるしていません。

これらのパスパラメータをJQuery AJAX呼び出しのURLに渡すより良い方法はありますか?

*わかりやすくするために、私の懸念事項は文字列を連結したものです。文字列を連結しないでurlを構築するより良い方法があるのだろうかと思います。おそらく文字列の書式が良いでしょうか?

+0

私は、あなたのRestサービスをパス変数 – Alessandro

+0

あなたは "あなたのレストサービスをパス変数を使って変更する"ということを詳しく教えてください。 –

+0

あなたはあなたのサービスのようなURLで引数を使うべきですか?userid = xxx&orders = yyy – Alessandro

答えて

0

私はTemplate literalsがここで続行するneatest方法だと思います。

$.get(
    `users/${userId}/orders/${orderId}`, 
    function (data) { 
     //do something with the response 
    } 
); 
1

あなたはこの要求を行うための機能を行うことができます。その後、

function makeOrderRequest(userId, orderId, sucessCallback) { 
    $.get('users/' + userId + '/orders/' + orderId, successCallback); 
} 

そして、あなたが必要なときにそれを呼び出す:

makeOrderRequest(1234, 8796, function(data){ 
    //do stuff 
}); 
+0

ありがとう、私の心配は文字列の連結ともっと関係しています。あなたの例では、まだURLの文字列を連結しています。私はそれを含むより良い方法があるのだろうかと思います。 –

+0

私はここで連結は良いと思うが、{order:1234、user:8765}のようなオブジェクトを使用して、手動連結を避けるためにループでURLを生成することができる。 – Neekobus