2015-03-16 17 views
10

का उपयोग करते समय पथ पार्मेटर सेट करें मेरे पास यूआरआई के साथ/उपयोगकर्ता/उपयोगकर्ता-आईडी के रूप में एक अंतराल बिंदु है। 'उपयोगकर्ता-आईडी' यहां पथ चर है।

जीईटी अनुरोध करते समय मैं पथ चर कैसे सेट कर सकता हूं?

यह है कि मैं क्या करने की कोशिश की है: - पथ चर की जगह की

$http.get('/user/:id',{ 
       params: {id:key} 
      }); 

इसके बजाय, आईडी क्वेरी परम के रूप में संलग्न हो जाते हैं। मेरी डिबगर यानी के रूप में 'http://localhost:8080/user/:id?id=test'

अनुरोध URL दिखाने मेरी उम्मीद का समाधान यूआरएल की तरह 'http://localhost:8080/user/test' होना चाहिए

+1

समझ $ संसाधन के लिए इस ब्लॉग उपयोगी पाया - http://fdietz.github.io/recipes-with-angular-js/consuming-external-services/consuming-restful-apis.html –

उत्तर

13

$ http के परम वस्तु क्वेरी के लिए है तार, तो आप पैराम में पास होने वाले कुंजी-मूल्य जोड़े क्वेरी स्ट्रिंग कुंजी और मान के रूप में आउटपुट होते हैं।

$http.get('/user', { 
    params: { id: "test" } 
}); 

बन जाता है:

  1. यूआरएल खुद का निर्माण,

    $http.get('/user/' + id);

  2. या, उपयोग $ संसाधन: http://localhost:8080/user?id=test

    आप http://localhost:8080/user/test या तो, आप कर सकते हैं की जरूरत है (विशेष रूप से $ resource.get https://docs.angularjs.org/api/ngResource/service/ $ संसाधन)। यह थोड़ा क्लीनर है।

+0

साझा लिंक में उदाहरण को देखते हुए, @id भाग का क्या अर्थ है? var CreditCard = $ संसाधन ('/ उपयोगकर्ता /: उपयोगकर्ता आईडी/कार्ड /: कार्डआईडी', {उपयोगकर्ता आईडी: 123, कार्डआईडी: '@ आईडी'}, { चार्ज: {विधि: 'पोस्ट', पैराम्स: {चार्ज: सत्य }} }); –

1

क्यों कुछ इस तरह नहीं ?:

var path = 'test'; 
$http.get('/user/' + path, {}); 
+0

हाँ कि निश्चित रूप से है एक रास्ता मैं उस संक्षिप्त हिस्से से बचने के लिए देख रहा था क्योंकि जब हमारे पास एकाधिक पथ पैरा होते हैं तो यह बेकार दिखता है। उदाहरण के लिए:/उपयोगकर्ता /: आईडी/खाता /: खाता आईडी/लेनदेन /: txnid –

+1

मैं देखता हूं ... तो शायद आप '$ resorce' का उपयोग कर सकते हैं (जैसा कि @ user2943490 सुझाता है ...)। – MarcoS

संबंधित मुद्दे