簡體   English   中英

jQuery進行2次加載…並返回500錯誤

[英]jQuery does 2 loads… and returns 500 error

由於某種原因,我的jQuery AJAX請求成功提交了第一個POST,但是隨后導致了第二個GET,該第二個GET不提交該帖子數據,從而導致了Index Undefined錯誤。 當使用Firebug查看日志時,我看到它執行了第一個POST成功發布我要提交的數據的操作,但是隨后它執行了第二個GET請求,以提取整個“ SecondPage.php”文件而不發布任何數據,從而覆蓋了原本的DIV。設置為顯示。

這是代碼:

$(document).on('change', '.SubmitRadioButton', function(e) {
    e.preventDefault();
    $.ajax({
        type: 'post',
        url: 'SecondPage.php',
        cache: false,
        data: $(this.form).serialize(),
        success: function(html) { 
            window.alert('Successfully submitted AJAX request!');
            $("#DIVinFirstPage").load("SecondPage.php");
        }

    });
    return false;
});

我究竟做錯了什么?

另外-我注意到在第二個PHP頁面上,我必須引用執行所有功能的“ Header.php”文件。 為什么此ajax請求沒有像PHP include(“ File.php”)那樣繼承頁面中的所有規則? 有沒有解決的辦法,所以我不必重新初始化並重新下載所有PHP和JavaScript文件? 我在PHP中嘗試了include_once(“ File.php”),但也沒有糾正。

jQuery加載與執行$ .get請求相同。 只是一個包裝。

。加載()

因此,您基本上是在代碼的這一部分上進行一些數據的發布請求

$.ajax({
    type: 'post',
    url: 'SecondPage.php',
    cache: false,
    data: $(this.form).serialize(),
    success: function(html) { 
        window.alert('Successfully submitted AJAX request!');

然后在成功內向此行的同一頁面發出get請求。

        $("#DIVinFirstPage").load("SecondPage.php");

然后頁面SecondPage.php給您一個索引未定義錯誤,因為SecondPage.php期望POST數據不會在.load調用中發送。

由於未定義索引是php錯誤,因此會將500錯誤代碼發送到瀏覽器。

因此,您需要檢查是否在SecondPage.php上使用isset設置了變量,或者需要使加載調用不期望任何數據的另一個頁面。

另一個選擇是讓腳本在單獨的php文件中處理POST,然后將.load加載到表單的第二頁。

在第一個POST請求的成功回調中,執行JQuery load()。 根據文檔http://api.jquery.com/load/ ,“它大致相當於$ .get(url,data,success)”。

您會看到您的成功回調函數具有一個名為“ html”的參數。 這是POST請求后從SecondPage.php發送到您的響應。 我想其中包含要用div填充的內容。

也許嘗試:

success: function(html) { 
    window.alert('Successfully submitted AJAX request!');
    $("#DIVinFirstPage").html(html);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM