我不知道爲什麼我的表單不是發佈,而是隻是重新加載頁面。jQuery Ajax POST表單不能發佈
我可以用$.ajax({type:GET})
來做到這一點。但是這樣做並不正確,因爲我所有的腳本都將數據發佈到數據庫。
我也試過把$('#status-form').serialize()
和'status=' + status_value
加到$.ajax({data:})
。但不起作用。只刷新頁面並不向數據庫提交任何內容。
這裏是我的jQuery:
$(document).on('click', '.edit',function() {
var project_id_value=$(this).closest('tr').find('.project_id').text();
$('#popup').show();
$('#popup').load('scripts/form.php');
$(document).on('click',".bttt", function(){
var status_value=$('#status option:selected').val();
var formData = $('#status-form').serialize();
$.ajax({
type:POST,
url:'scripts/change-status.php?project_id=' + project_id_value,
data:formData,
success: function(data){
alert(data)},
});
});
return false;
});
形式:
<form method="post" id="status-form">
<select name="status" id="status">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">Closed</option>
</select>
<button class="bttt">Hello</button>
</form>
編輯:
我有固定的錯字錯。仍然有同樣的問題
SOLUTION:
我找到了解決方案,這是爲什麼呢瀏覽器使用刷新,什麼也不做。由於我使用的是Firefox和Firefox,因此將表單中的任何按鈕作爲提交按鈕。當我點擊該按鈕時,它被用於在達到$ .ajax({success:})之前發佈表單。我必須做的是給按鈕一個type="button"
你的PHP無關,與你的問題。請發佈*呈現* HTML,而不是PHP源代碼。 – j08691
你確定控制檯沒有顯示錯誤嗎? –
嵌套的點擊功能是使這很難排除故障的事情之一。 –