2014-09-30 6 views
12

मैं एएसपीनेट वेब एपीआई प्रोजेक्ट के साथ काम कर रहा हूं, और मुझे एक पोस्ट के माध्यम से मोबाइल नंबर पास करना होगा। लेकिन मैं एक प्लस साइन नहीं कर सकता।+ (प्लस) साइन इन वेब एपीआई रूटिंग

मेरे मार्ग:

config.Routes.MapHttpRoute( 
    name: "SmsRoute", 
    routeTemplate: "rest/sms/{country}/{company}/phone/{mobilenumber}", 
    defaults: new { controller = "Sms", action = "PostSms" }); 

नियंत्रक:

public HttpResponseMessage PostSms(string country, string company, string mobilenumber) 
{ 
    return Request.CreateResponse(HttpStatusCode.Created); 
} 

जब मैं Fiddler पर इस पोस्ट विधि चलाएँ:

http://index.html/rest/sms/se/company/phone/46700101010/messages/out 

मैं इस प्रतिक्रिया हो रही है:

enter image description here

लेकिन मैं चाहता हूं कि यह मुझे प्लस साइन दिखाने में सक्षम हो।

उत्तर

1

एनकोड +:

इस एक के साथ अपने feedle इनपुट बदलें:

http://index.html/rest/sms/se/company/phone/%2B46700101010/messages/out

यह भी देखें: AJAX POST and Plus Sign (+) -- How to Encode?

http://www.google.com/search?q=foo%2Bbar

+0

धन्यवाद, लेकिन इसके – Kriistiian

+0

होता क्या है जब आप दिए गए उदाहरण का उपयोग एन्कोडिंग नहीं:

इस सुविधा को अक्षम करने के लिए, web.config में? – Ofiris

+0

नीचे वोट क्यों? – Ofiris

0

यह एक आम विसंगति है जिसे हम यूआरएल में पैरामीटर जोड़ने के दौरान सामना करते हैं। यहाँ आप क्या अपने ओ पी है का संकेत हो सकता है और आपको बाद रन पर आवश्यकता हो सकती है क्या

आप कई विकल्प होते हैं + के लिए के रूप में आप

encodeURIComponent(); 

और यह भी का उपयोग कर अपने जावा स्क्रिप्ट फ़ाइल में सांकेतिक शब्दों में बदलना कर सकते हैं अपने आसानी के लिए आप अपने uRL में कोई विशेष वर्ण जोड़ने के लिए की तरह एक . तो बस अपने web.config

<system.web> 
<httpRuntime relaxedUrlToFileSystemMapping="true" /> 

में संपत्ति relaxedUrlToFileSystemMapping सेट या आप को जोड़ या पात्रों में से कुछ ब्लॉक करने के लिए निकाल सकते हैं/अनुमति देने के चाहते हैंका ​​उपयोग कर अपने web.config

<httpRuntime requestPathInvalidCharacters="&lt;,&gt;,*,%,&amp;,:,\,?"/> 
+0

यह एक वेबएपीआई प्रश्न है। – Ofiris

+0

'relaxUrlToFileSystemMapping' द्वारा प्रतिबंधित वर्णों की सूची' <, > है::, ", /, \, |, और *' '। RequestPathInvalidCharacters' का डिफ़ॉल्ट मान' <, >, *,%, &,:, \, है, जहां तक ​​मैं कह सकता हूं, उनमें से कोई भी प्लस-साइन्स पर कोई प्रभाव नहीं डालता है। – RickNZ

14

आईआईएस रोकता प्लस-संकेत URL पथ तत्वों में किया जा रहा से में। टिप के लिए

<system.webServer> 
    <security> 
     <requestFiltering allowDoubleEscaping="true" /> 
    </security> 
</system.webServer> 
संबंधित मुद्दे