簡體   English   中英

jQuery-Ajax不適用於生產服務器

[英]jQuery-Ajax dont work on production server

我已經創建了一個Web應用程序,基本的想法是有一個頁面,然后用ajax插入來自php-mysql腳本的數據。 在本地Xampp上,應用程序運行完美。

在生產服務器上,一些ajax請求工作,但其他人不工作。

Chrome檢查元素顯示錯誤:

POST mysite.com/app/show_staff_profile_ajax.php 500 (Internal Server Error) jquery-2.0.3.js:7845
send  jquery-2.0.3.js:7845
jQuery.extend.ajax jquery-2.0.3.js:7301
showProfile ajax.js:466
(anonymous function) ajax.js:150
jQuery.event.dispatch jquery-2.0.3.js:4676
elemData.handle jquery-2.0.3.js:4360

在ajax.js第150行我得到:

$(document).on('click','.show_profile',function(){
    var id = $(this).attr("id");
    showProfile(id);  //line 150
    return false;
});

在446行:

function showProfile(id){
    $.ajax({   //line 446
        type:"POST",
        url: "show_staff_profile_ajax.php",
        data: {id : id},
        success: function(data)
        {
            $("#program_panel").html(data);
        }
    });
}

在show_staff_profile_ajax.php上,我使用php變量從mysql和echo: html標簽中獲取數據。

我正在嘗試兩天來解決這個問題。 我看過很多帖子但似乎沒什么用

正如karhikr所說,500錯誤表示錯誤發生在服務器上,而不是在瀏覽器中。

Xampp是一個Windows軟件包,Windows不區分大小寫並且放松了寫入權限 - 如果將站點移動到Linux環境已經破壞了它,則可能就是問題所在 - 500錯誤更可能是寫入權限錯誤而不是大寫的。

500錯誤表示show_staff_profile_ajax.php文件中存在錯誤。 嘗試獲取更多信息 - 通常有一個php應用程序的錯誤日志文件。 找到它,它可能會為您提供有關導致錯誤的更多信息。

你在ajax調用中傳遞的唯一數據是“id”,所以我也會看一下。 也許放一條這樣的一句話:

console.log('profile id: ' + id);

就在您的點擊功能中運行showProfile(id)之前。 可能有一些HTML元素具有不正確的data-id值。 這應該在錯誤發生之前在控制台中顯示id。

暫無
暫無

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

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