![](/img/trans.png)
[英]How do i get the response back from server after issuing a request object(AJAX)
[英]Get response text back from php after ajax request
我想將數據添加到我的數據庫,並從php訪問數據庫獲取響應。
javascript代碼:
var request = $.ajax({
type: "POST",
url: "nieuwDuel.php",
data: dataString,
success: function(response)
{
var responseText = "onbekend";
responseText = jQuery(response);
document.getElementById("duelToegevoegd").innerHTML=responseText;
$( "#openstaandeDuels" ).load( "getOpenstaandeDuels.php" );
}
});
因此,當一個名稱無效或已經存在時,我可以將此消息添加到我的html中的span元素。
這是我的PHP代碼:
<?php
if($_POST)
{
// Create connection
$con=mysqli_connect("localhost","root","root","websitedb");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$date = getdate();
$date_time = $date['year'] . "-" . $date['mon'] . "-" . $date['mday'] . " " . $date['hours'] . ":" . $date['minutes'] . ":" . $date['seconds'];
$uitdagerArray = mysqli_query($con,"SELECT id FROM deelnemers WHERE naam='" . $_POST['uitdager'] . "'");
$uitgedaagdeArray = mysqli_query($con,"SELECT id FROM deelnemers WHERE naam='" . $_POST['uitgedaagde'] . "'");
$uitdager = mysqli_fetch_array($uitdagerArray);
$uitgedaagde = mysqli_fetch_array($uitgedaagdeArray);
$uitdagerId = $uitdager['id'];
$uitgedaagdeId = $uitgedaagde['id'];
$sql="INSERT INTO duels (uitdager, uitgedaagde, aanmaakdatum, gespeeld) VALUES ('" . $uitdagerId . "','" . $uitgedaagdeId . "','" . $date_time . "','" . "0" . "')";
if(!mysqli_query($con,$sql)) {
echo mysql_errno() . ": " . mysql_error() . "\n";
}
else {
echo "Duel Toegevoegd";
}
mysqli_close($con);
}
?>
那么我的php代碼中echo的文本是否可能會從succes函數傳遞給'response'?
編輯:
這是我的HTML代碼
<div id="nieuwDuel">
<h2>Nieuw Duel</h2>
<form name="form" method="post">
Uitdager: <input type="text" id="naamUitdager" placeholder="naam uitdager">
Uitgedaagde: <input type="text" id="naamUitgedaagde" placeholder="naam uitgedaagde">
<input type="submit" class="nieuwDuelToevoegen">
</form>
<span id="duelToegevoegd" style="display:none"></span>
<a href="index.php#home">Home</a>
</div>
是的,它應該工作。 嘗試將JS更改為
var request = $.ajax({
type: "POST",
url: "nieuwDuel.php",
data: dataString,
success: function(response)
{
console.log(response);//This will output the response you are getting to the console so you can check it
$("#duelToegevoegd").html(response);
$( "#openstaandeDuels" ).load( "getOpenstaandeDuels.php" );
}
});
此外,我不會回應你回到客戶端的任何錯誤
echo "Failed to connect to MySQL: " . mysqli_connect_error();
雖然這取決於用戶是誰,但您不希望任何未經授權的人看到這些錯誤
我假設您的PHP代碼是正確的。 那么你需要改變的是你的jQuery代碼。
只需更改以下代碼:
responseText = jQuery(response);
document.getElementById("duelToegevoegd").innerHTML=responseText;
如下:
responseText = response;
$('#duelToegevoegd').html(responseText);
我不知道你要做什么
$( "#openstaandeDuels" ).load( "getOpenstaandeDuels.php" );
所以,我現在就把它留下來
希望能幫助到你
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.