2015-09-21 5 views
5

एक एपीआई जिसका उपयोग मैं कर रहा हूं उसे डेटा, वैल्यू जोड़े के साथ AJAX के माध्यम से भेजा जाना आवश्यक है। नाम में मॉडल के विपरीत रिक्त स्थान और अन्य वर्ण हो सकते हैं।इनपुट का नाम प्राप्त करें angularjs

तो मॉडल को अल्फान्यूमेरिक वर्ण होना चाहिए क्योंकि यह नाम का प्रत्यक्ष प्रतिनिधित्व नहीं है। उदाहरण के लिए: नाम, मॉडल, मूल्य

जीएसटी (हां/नहीं), stepTwo.has_gst_yes_no, 1

है तो जब मैं:

console.log($scope.stepTwo) 
//I have: 
//has_gst_yes_no=1 

यह महान है, लेकिन मैं कैसे प्राप्त कर सकते हैं एपीआई को भेजते समय इनपुट नाम के साथ-साथ मुझे इसे कुंजी के रूप में उपयोग करने की आवश्यकता होगी।

आशा है कि यह समझ में आता है।

+1

लगता है जैसे आप कोणीय के डिफ़ॉल्ट अनुरोध ट्रैनफॉर्म फ़ंक्शन को ओवरराइड करना चाहते हैं। यह पोस्ट पूरी तरह से समझाता है: http://www.bennadel.com/blog/2615- पोस्टिंग-form-data-with-http-in-angularjs.htm – o4ohel

+0

धन्यवाद, लेकिन ऐसा नहीं लगता कि मेरे प्रश्नों का उत्तर दें। – Martin

+2

जो आप लिखते हैं उससे मुझे लगता है कि नाम मॉडल का हिस्सा होना चाहिए, और बाइंडिंग के साथ कुछ भी नहीं होना चाहिए। आपके पास '$ scope.foo = {name: "foo", मॉडल: "foo", मान: "1"} जैसे मॉडल होना चाहिए और 'ng-model =" foo.value "जैसे बाध्य होना चाहिए। अन्य विकल्प 'name 'HTML attriubute से नाम पढ़ने और इसे डेटा से संलग्न करने के लिए' ngModel' निर्देश का विस्तार करना है। – csharpfolk

उत्तर

0

आप कोणीय में प्रपत्र निर्देश के लिए देख सकते हैं: https://docs.angularjs.org/guide/forms

अब प्रपत्र वस्तु उत्पन्न इनपुट के नाम है। लेकिन मुझे नहीं लगता कि कोणीय इस तरह के कुंजी/मूल्य जोड़े स्वीकार करता है।

आप किसी फ़ंक्शन में मैपिंग कर सकते हैं। वहां आप इस तरह के कुंजी/मूल्य जोड़े को परिभाषित कर सकते हैं:

var obj = {}; 
obj["this is property"] = "foo"; 
संबंधित मुद्दे