在调用 ajax 函数时阻止 asp 页上的页面刷新



你好,我遇到了一个我自己无法解决的问题。在asp页面中,单击调用调用Ajax函数的JS函数的按钮后。它曾经刷新页面,我尝试了几乎所有内容,但我无法处理它。这是代码:

ASP 按钮:

<button id="btnNext" class="button" style="float: left;" onClick="return nextButton();">Next <span aria-hidden="true" class="glyphicon glyphicon-step-forward" style="text-align: right;"></span></button> 

JS函数:

       function apiCall() {
            if (!doNotDisplay) {
                url = getURL();
                setSetting();
                var execAjax = $.ajax(settings);
            }
        }
        function setSetting() {
            settings = {
                "async": true,
                "crossDomain": true,
                "url": url,
                "method": ajaxMethod,
                "dataType": "json",
                "complete": function (jqXHR, textStatus) {
                    console.log("Completed: " + textStatus);
                },
                "error": function (jqXHR, textStatus, errorThrown) {
                    console.log("Error: " + errorThrown);
                },
                "success": function (data, textStatus, jqXHR) {
                    listarConsulta(data);
                    if (!doNotDisplay) {
                        apiCall();
                    }
                }
            }
        }
        function nextButton() {
            //set MAX
            if (page_num <= 999) {
                index_id_ref = 0;
                buttonClicked = true;
                //async = false; crossDomain = false;
                buttonEventFinished = false;
                apiFunction();
                return false;
            }
        }

调试后,我可以看到 JS 函数正在工作,但是当它完成时,它会再次执行 asp 页面,我认为回发设置为 false,并且 API 函数的设置很好,但也许我错了。

如果有人能帮助我解决这个问题,我将不胜感激。提前非常感谢。

OnClientClick 中调用 JS 函数而不是OnClick

OnClientClick="return nextButton();"

问题是您的按钮类型为"提交"。因此,每次用户单击按钮时,它都会被提交,因此在您的情况下页面会刷新。尝试将按钮的类型更改为"按钮"。

<button type="button"></button>

我解决了!但我决定发布它,以便如果有人有同样的问题可以有解决方案。代码正在工作。如果要执行使用 html 元素(不是 asp(调用 Ajax 函数的事件,请务必编写"return false;"以防止回发。这段代码对我有用。希望对您有所帮助。

相关内容

  • 没有找到相关文章