在执行jquery Ajax / MVCpost时保持即兴“up”

有没有办法在post中显示即兴对话框?
这是javascript代码

$('#linkPostTest').click(function() { openprompt(); }); function openprompt() { var temp = { state0: { html: 'Are you sure you want to post?
', buttons: { Yes: true, No: false }, focus: 1, submit: function(v, m, f) { if (v) { var form = $('frmPostTest'); $.ajax( { type: 'POST', url: '/Path/TestPost', data: form.serialize(), success: function(data) { // I realize I could check "data" // for true...just have not // implemented that yet.... $.prompt.goToState('state1'); //$.prompt('Test was successful!'); }, error: function() { $.prompt.goToState('state2'); //$.prompt('Test was not successful.'); } } ); return true; } else { //$.prompt.goToState('state1'); //go forward return false; } } }, state1: { html: 'Test was successful!', buttons: { Close: 0 }, focus: 0, submit: function(v, m, f) { if (v === 0) { $.prompt.close(); } } }, state2: { html: 'Test was not successful.
', buttons: { Close: 0 }, submit: function(v, m, f) { if (v === 0) { $.prompt.close(); } } } }; $.prompt(temp); }

控制器执行此操作

 [AcceptVerbs(HttpVerbs.Post)] public bool TestPost() { // runs some code that saves some data... // this works fine bool updated = functionThatSavesCode(); return updated; } 

在“您确定要发布吗?”后单击“是”。 即兴对话框显示…它消失了…如何让它保持显示?

好了让它工作……我对即兴插件和jQuery印象非常深刻! 为实现这一点,我做了两件不同的事情就是添加两件事

 return false; 

state0块下的语句和…

设置ajax调用

 async: false, 

这是新的javascript:

 $('#linkTestPost').click(function() { TestPost(); }); function TestPost() { var temp = { state0: { html: 'Are you sure you want to post?
', buttons: { Yes: true, No: false }, focus: 1, submit: function(v, m, f) { if (v) { if (PostView() === true) { $.prompt.goToState('state1'); // the line below was missing from my original attempt return false; } else { $.prompt.goToState('state2'); // the line below was missing from my original attempt return false; } } else { return false; } } }, state1: { html: 'Test Post was successful!', buttons: { Close: 0 }, focus: 0, submit: function(v, m, f) { if (v === 0) { $.prompt.close(); } } }, state2: { html: 'Test Post was not successful', buttons: { Close: 0 }, submit: function(v, m, f) { if (v === 0) { $.prompt.close(); } } } }; $.prompt(temp); } function PostView() { var form = $('frmTestPost'); var postSuccess = new Boolean(); $.ajax( { type: 'POST', url: '/Path/TestPost', data: form.serialize(), // the line below was missing from my original attempt async: false, success: function(data) { postSuccess = true; }, error: function() { postSuccess = false; } }); return postSuccess; }