[英]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.