की बजाय स्ट्रिंग के रूप में "शून्य" प्राप्त होता है। मेरे पास जेसन या एएसपी.नेट एमवीसी के साथ कुछ गड़बड़ है, मैं एएसपी.नेट एमवीसी का उपयोग कर रहा हूं और यहां मैं क्लाइंट से भेज रहा हूं।एएसपी.नेट एमवीसी को शून्य
नोट क्रोम में डिबगिंग के बाद, मैं समझा रहा हूँ कि यह क्या जावास्क्रिप्ट भीतर पारित कर दिया है, मैं मैन्युअल रूप से स्थापित करने नहीं कर रहा हूँ के रूप में यह शून्य के रूप में कहीं और से परिणाम के रूप में आ रहा है राज्य शून्य पर है। जो एक बार फिर से मेरे नियंत्रण में नहीं है क्योंकि यह डेटाबेस से आ रहा है।
डीबगिंग करते समय, राज्य प्रदर्शित करता है कि यह "शून्य" के बजाय शून्य है, लेकिन एमवीसी में डीबगिंग करते समय यह शून्य के बजाय "शून्य" प्रदर्शित कर रहा है।
$.ajax(
'/Client/Post',
{
method: 'POST',
data: {
Country: 'US',
// this is null because it is coming from somewhere else as null
State: null
}
});
मेरे ASP.NET MVC हैंडलर प्राप्त करता है ...
public ActionResult Post(Client model){
if(model.State == "null")
{
/// this is true... !!!!
}
if(model.State == null)
{
// :(this should be true...
}
}
यह ASP.NET MVC या jQuery की समस्या है?
तो क्या यह jQuery है जो शून्य को "शून्य" के रूप में भेजता है या क्या यह एमवीसी है जो "शून्य" के रूप में शून्य स्थापित कर रहा है?
समाधान
मैं सिर्फ रिकर्सिवली नई वस्तु पदानुक्रम (वस्तु क्लोनिंग) बना सकते हैं और jQuery को भेजने के लिए, के रूप में jQuery फार्म एन्कोड जिसमें कोई रास्ता नहीं अशक्त प्रतिनिधित्व करने के लिए है के रूप में डेटा भेजा था फिर भी, आदर्श jQuery को क्रमशः धारावाहिक शून्य नहीं होना चाहिए था। मैं के बाद
$.ajax('/Client/Post',
{
method: 'POST',
data: {
Country: 'US'
}
});
संपादित फिर से पढ़ अपनी पोस्ट
var data = {
Country: 'US',
State: null
}
if (!data.State) delete data.State;
$.ajax('/Client/Post',
{
method: 'POST',
data: data
}
});
यह आपकी जानकारी के ऊपर
पढ़ इस एक: http://stackoverflow.com/questions/801032/null-object-in-javascript –
[http://en.wikipedia.org/wiki/Http #Technical_Overview] (http: //en.wikipedia.or जी/विकी/एचटीपी # तकनीकी_ओवरव्यू) – Esailija
क्या आप IE8 का उपयोग कर रहे हैं? – wsanville