jQuery popup和ajax中的问题

时间:2010-05-26 14:41:44

标签: jquery ajax.net

当我进行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文件

    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();           

            });
        }
    });
}

codebhind:

protected void cmdBackToHomePageTop_Click(object sender, EventArgs e)
    {
        Response.Write("called --- cmdBackToHomePageTop_Click");
    }

1 个答案:

答案 0 :(得分:0)

看起来你没有从Ajax调用中捕获响应。看起来您已经在进行一次回调(当用户在确认中单击“确定”时),但您仍需要向Ajax请求本身添加另一个回调。否则,请求发生得很好,你只是没有对结果做任何事情。

通常,您需要通过$ .ajax(...)的successerror和/或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。特别是有关最终会传递到各种回调中的参数的更多信息。我给出的例子只是为了展示一些可能性。

祝你好运!