当我进行ajax调用时遇到问题,然后我的弹出窗口停止工作。 当我们点击弹出窗口的“确定”按钮时,我想调用ajax。 提前谢谢
这是我的代码:
<div id='container'>
<div id='content'>
<div id='confirm-dialog'>
<asp:Button ID="cmdBackToHomePageTop" runat="server" Text="<< Back to Home Page" Width="160px" OnClick="cmdBackToHomePageTop_Click"/>
</div>
<!-- modal content -->
<div id='confirm'>
<div class='header'><span>Test Conformation Title</span></div>
<div class='message'></div>
<div class='buttons'>
<div class='no simplemodal-close'>Cancle</div><div id='ok' class='yes'>Ok</div>
</div>
</div>
</div>
</div>
jQuery(function ($) {
$('[id$=button],[id$=cmdBackToHomePageTop]').click(function (e) {
e.preventDefault();
// example of calling the confirm function
// you must use a callback function to perform the "yes" action
confirm("hello friends?", function () {
$.ajax({
type: "post",
url: "./default2.aspx/cmdbacktohomepagetop_click"
)};
});
});
});
function confirm(message, callback) {
$('#confirm').modal({
//closeHTML: "<a href='#' title='Close' class='modal-close'>x</a>",
position: ["20%",],
overlayId: 'confirm-overlay',
containerId: 'confirm-container',
onShow: function (dialog) {
$('.message', dialog.data[0]).append(message);
// if the user clicks "yes"
$('#ok', dialog.data[0]).click(function () {
// call the callback
if ($.isFunction(callback)) {
callback.apply();
}
// close the dialog
$.modal.close();
});
}
});
}
protected void cmdBackToHomePageTop_Click(object sender, EventArgs e)
{
Response.Write("called --- cmdBackToHomePageTop_Click");
}
答案 0 :(得分:0)
看起来你没有从Ajax调用中捕获响应。看起来您已经在进行一次回调(当用户在确认中单击“确定”时),但您仍需要向Ajax请求本身添加另一个回调。否则,请求发生得很好,你只是没有对结果做任何事情。
通常,您需要通过$ .ajax(...)的success
,error
和/或complete
属性向其提供回调函数;
例如,
$.ajax({
type: "post",
url: "./default2.aspx/cmdbacktohomepagetop_click",
data: 'xml',
success: mySuccessHandler,
error: function() {alert('Bummer, an error occurred')}
)};
function mySuccessHandler(data) {
// process the response!
}
有关更多文档和示例,请参阅this page。特别是有关最终会传递到各种回调中的参数的更多信息。我给出的例子只是为了展示一些可能性。
祝你好运!