[英]AJAX doesn't send back
首先,我想說我是Ajax的初學者。 我只是一個初學者。 我希望你能幫助我。
我想向ajax腳本發送ID,然后在其中運行查詢。 然后,我想返回頁面的輸出。 我在其中設置了id並將其發送到ajax_project_info.php的頁面中有一個quick_view_page.js頁面,通過鏈接我在其中檢索了ID。 如果我打開ajax_project_info.php並在鏈接中設置一個變量id,它會很好地工作。
我無法將ajax_project_info的輸出返回給quick_view_page.js。
我的quick_view_page.js。
//Quick view show and hide
$('a#quick_view').click(function() {
var projectId = $(this).find($(".qv_id")).attr('id');
//alert(projectId);
xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET","ajax/ajax_project_info.php?projectId=" + projectId);
xmlhttp.send();
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementByClassName("qvp_bg").innerHTML=xmlhttp.responseText;
}
我的ajax_project_info.php
<?php
require_once("../pages/db.php");
error_reporting(E_ALL);
ini_set('display_errors', 1);
ob_start();
$projectId = $_GET["projectId"];
$query_getinfo = "SELECT * FROM tblProjecten WHERE id = '".$projectId."'";
$result_query_getinfo = mysqli_query($conn,$query_getinfo);
while ($row = mysqli_fetch_array($result_query_getinfo)) {
$response = $row['projectnaam'];
};
else {
$response = "Geen info beschikbaar";
}
return $response;
?>
謝謝!
更新:問題似乎出在“如果(xmlhttp.readyState == 4 && xmlhttp.status == 200)”中,當我在兩者之間設置警報時,該警報不會彈出。
更新2:我現在有quick_view_search.js:
//Quick view show and hide
$('a#quick_view').click(function() {
var projectId = $(this).find($(".qv_id")).attr('id');
//xmlhttp request
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementsByClassName("qvp_bg").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","ajax/ajax_project_info.php?projectId=" + projectId, true);
xmlhttp.send();
$.ajax({
'url' : 'ajax/ajax_project_info.php',
'type' : 'GET',
'data' : {
'projectId' : projectId
},
'success' : function(data) {
document.getElementsByClassName("qvp_bg").innerHTML=data;
}
});
$('.quick_view_project').css('display', 'block').hide().fadeIn();
return false;
});
ajax_project_info.php:
<?php
/*
require_once("../pages/db.php");
error_reporting(E_ALL);
ini_set('display_errors', 1);
ob_start();
$projectId = $_GET["projectId"];
if ($projectId) {
$query_getinfo = "SELECT * FROM tblProjecten WHERE id = '".$projectId."'";
$result_query_getinfo = mysqli_query($conn,$query_getinfo);
while ($row = mysqli_fetch_array($result_query_getinfo)) {
$response = $row['projectnaam'];
}
else {
$response = "Geen info beschikbaar";
}
}
else {
$response = "Geen info beschikbaar";
}
echo $response;
*/
echo "test";
?>
它給了我以下錯誤:“未定義xmlhttp”。
使用echo $response
而不是return $response
也嘗試
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementByClassName("qvp_bg").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","ajax/ajax_project_info.php?projectId=" + projectId, true);
xmlhttp.send();
使用jQuery
將jQuery包含到項目中
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script>
GET請求
$('.myButton').click(function() {
$.ajax({
'url' : 'ajax/ajax_project_info.php',
'type' : 'GET',
'data' : {
'projectId' : projectId
},
'success' : function(data) {
document.getElementByClassName("qvp_bg").innerHTML=data;
}
});
});
希望這可以幫助 :-)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.