因此,我正在學習Ajax,並且我遵循本教程:https://phpacademy.org/course/submitting-a-form-with-ajax來創建適用於任何形式的函數。這是完整的功能:Ajax,在javascript中處理php響應
$('form.ajax').on('submit', function() {
var that = $(this),
url = that.attr('action'),
type = that.attr('method'),
data = {};
that.find('[name]').each(function(index, value) {
var that = $(this),
name = that.attr('name'),
value = that.val();
data[name] = value;
});
$.ajax({
url: url,
type: type,
data: data,
success: function(response) {
alert(url + ' ' + response);
}
})
return false;
});
正如你看到我做的是提醒響應,在這種情況下是php echo
。這就是我的問題開始的地方,我需要一個靈活而安全的方式來處理javascript/php通信。對於所有形式,最好使用一種函數,可能用if()
聲明而不是alert(url + ' ' + response);
,具體取決於url
的格式。
我需要的功能並不是非常複雜,根據我得到的響應,我只會更新當前的錯誤形式。
只要我知道在通信中使用什麼,我很好,echo '1';
因爲我現在不喜歡理想的解決方案,但它是我能處理的。
那麼,我應該從PHP頁面發送什麼類型的響應,以及在哪裏(在JavaScript中)以及如何處理它?我聽說過json,但很難將它包裹在頭上。有人可以顯示一個json響應發送一個基本的整數,這很容易我的反應拿起作爲一個int?
簡單的JSON響應'{響應:1} ' - 作爲'response.response'訪問(我通常在成功回調中使用'data'作爲我的參數名稱,但這都是首選項) – tymeJV
我試着讓它工作,但我只是回到undefined。在php中,我做了if(){response:1}'用分號嘗試了所有我能想到的,並且在js中我做了'success:function(response){ \t \t \t alert(url + '+ response.response); \t \t}' – justanotherhobbyist
您必須在PHP端對'json_encode'數據進行編碼。 (假設你的類型是'json' – tymeJV