這是我在這里的第一個問題,所以請善待 ^^ 我正在訓練自己一些 JS/Jquery/Ajax。簡短:Projekt 將特定公司的最近位置過濾到我們當前的郵政郵編。所以,到目前為止,這是我的“作業”:在 index.php 上,我使用如下簡單的形式:
<form id="ajaxForm">
<input type="number" class="form-control" id="plzInput" name="plzInput" placeholder="99999"
aria-label="Username" aria-describedby="basic-addon1" required>
<button type="submit" id="plzSubmit" name="plzSubmit" class="btn btn-primary">Search</button>
</form>
我使用 ajax 將一些資料傳遞給 ajax.php:
var request;
$("#ajaxForm").submit(function (event) {
event.preventDefault();
if (request) {
request.abort();
}
var $form = $(this);
//Caching
var $inputs = $form.find("input, select, button, textarea");
var serializedData = $form.serialize();
$inputs.prop("disabled", true);
request = $.ajax({
url: "ajax.php",
type: "post",
data: serializedData
});
request.done(function (response, textStatus, jqXHR) {
console.log("in ajax.php geschrieben!");
console.log(response);
showResults(response);
});
request.fail(function (jqXHR, textStatus, errorThrown) {
console.error(
"The following error occurred: "
textStatus, errorThrown
);
});
request.always(function () {
$inputs.prop("disabled", false);
});
});
function showResults(data){
alert(data);
}
});
在這里,資料最終使用 php 處理(資料庫查詢、計算、結果)。現在我正在努力將我的結果從 ajax.php 發送回索引。總而言之,我想從 SQLquery 發回一個陣列,并使用 index.php 上的 js/jquery 將這些值顯示到現有的 html 輸入中。但我不知道為什么 ajax.php 的回應不能被 JS/Jquery 讀取。我認為 php 陣列與 js 陣列有問題。有沒有辦法發送“多個”回應甚至是一系列回應?
我很高興每一個幫助!
uj5u.com熱心網友回復:
一個很好的方法是使用 JSON。
在 PHP 方面,在 中ajax.php,您使用json_encode()將陣列編碼為字串。
然后在您的 Javascript AJAX 中接收該 JSON 字串作為response. 在那里,您可以使用JSON.parse()將其轉回陣列:
let array = JSON.parse(response);
JQuery 對此也有一個簡寫,請參閱:
https://api.jquery.com/jQuery.getJSON/
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/424092.html
標籤:javascript php jQuery 阿贾克斯
