0
我一直在試圖弄清楚我現在做錯了一天,並嘗試各種各樣的東西,使這項工作。基本上我發送var通過POST命名爲一個php文件,然後運行一個查詢並返回數據。 print_r
顯示已發送正確的數據(在這種情況下是單個數字),而不是查詢返回的名稱等,它只是不識別$_POST['id']
並返回一個錯誤。
$(document).ready(function() {
$(".side-menu_description").click(function() {
var id = $(this).attr("id");
if ($.trim(id) != "") {
/*
$.post("index_loads/series_load.php", { 'id': id }, function(data) {
alert(data);
$("#wrap").fadeOut("slow").load("index_loads/series_load.php").fadeIn("slow");
});
*/
$.ajax({
url: 'index_loads/series_load.php/',
data: { "id": id },
type: 'POST',
success: function(data) {
$("#wrap").fadeOut("slow").load("index_loads/series_load.php").fadeIn("slow");
alert(data);
},
error: function(){
alert("Error: Could not return");
}
});
}
});
});
<?php
print_r($_POST);
//$_POST['id'] = file_get_contents('php://input');
$q = "SELECT * FROM Series WHERE SeriesID = '$_POST[id]'";
$r = mysqli_query($dbc, $q);
$data = mysqli_fetch_assoc($r);
?>
警報的前幾行:
Array
(
[id] => 5
)
<h1> </h1>
<!--<h2>
Airs At: <br />
<b>Notice</b>: Undefined offset: 1 in <b>C:\xampp\htdocs\myname\index_loads\series_load.php</b> on line <b>24</b><br />
: </h2>-->
<h3>Rating:<br> Stars + (4.0)</h3>
我已經試過各種東西,從使用$.ajax
不斷變化的數據{ "id=" + id}
到file_get_contents
但沒有人似乎工作。我可能錯過了一些東西,但搜索後,我仍然無法找到答案!
在此先感謝。
你的PHP代碼沒有返回任何請求。 –
這不是整個PHP代碼。看起來你的代碼確實返回了一個值(帶有id的數組),但它也返回了html標籤和PHP通知。 ** 1。**您應該返回一個json字符串** 2。**您不應該返回html字符串,它效率低下。讓JS處理純數據和操作DOM ** 3 **這個通知是關於試圖訪問一個帶有偏移鍵的數組 –
真的,這是與js有關的代碼,這些都是我發佈的,其餘的的文件是HTML,我認爲是無關緊要的。改變'.load'到'.html'解決了我的問題,但我仍然想知道你會如何改變這使它更有效率。任何幫助表示讚賞! – Nikj