/ / कैसे mvc3 में कैनपॉस्ट कार्रवाई के लिए json डेटा भेजने के बाद देखने के लिए रीडायरेक्ट को रोकने के लिए - json, asp.net-mvc-3, jquery

Mvc3 में कैंसपोस्ट कार्रवाई के लिए json डेटा भेजने के बाद रीडायरेक्ट को कैसे रोकें

मुझे एक पेज वेब ऐप विकसित करते समय एक समस्या है।

जब jQuery ने HTTPPOST कार्रवाई के लिए json भेजें:

$("#user_dialog .create").click(function () {
var user = getInfoUser();
$.ajax({
url: "@Url.Action("Create", "User")",
async: false,
type: "POST",
data: JSON.stringify(user),
datatype: "json",
contentType: "application/json;charset=utf-8",
success: function (data) {
$("#user_dialog").dialog("close");
}
});
});

नियंत्रक में मेरी HTTPPOST कार्रवाई अनुरोध को संभाल लेगी

[HttpPost]
public String Create(UserAddViewModel model)
{
try
{
// TODO: Add insert logic here

return JsonConvert.SerializeObject(true);
}
catch
{
return JsonConvert.SerializeObject(false);
}
}

और मेरा jQuery सफलता कॉलबैक फ़ंक्शन को निकाल दिया जाएगा और डेटा "ट्रू" प्राप्त होगा।

लेकिन समस्या अब इसके बाद है, पृष्ठ को पुनर्निर्देशित किया जाएगा / प्रयोक्ता / बनाएं पृष्ठ देखें

मुझे यह पृष्ठ पर पुनर्निर्देशित नहीं करना है, मैं सिर्फ अपने jQuery कोड द्वारा यूआई को संभालना चाहता हूं।

क्या इसलिए कि यह HTTPPOST कार्रवाई है?

वास्तविक कारण क्या है और इसे कैसे ठीक किया जाए?

उत्तर:

उत्तर № 1 के लिए 4

संभवतः, आप जिस चीज़ पर क्लिक कर रहे हैं वह एक URL है। आप अपने ईवेंट में डिफ़ॉल्ट ईवेंट (url लोड करना) को रोकने से रोक नहीं रहे हैं

$("#user_dialog .create").click(function (event) {
event.preventDefault();
//rest of function

जब भी कोई क्लिक ईवेंट समाप्त होता है, तो डिफ़ॉल्टईवेंट (यदि यह लिंक है, तो एक URL लोड करना, अगर यह सबमिट बटन है, तो चेकबॉक्स को टॉगल करते हुए, फॉर्म जमा करना) अगला होगा। इसे रोकने के लिए आपको इसे या तो स्पष्ट रूप से उपयोग करना चाहिए preventDefault() या झूठे होकर। देख http://api.jquery.com/event.preventDefault/ दस्तावेज के लिए।