這裏是我的HTML樣本:爲什麼我的SELECT標籤的值沒有通過AJAX發佈請求提交?
<form class="form-horizontal" action="#" id="sendstuff">
<select name="some_name">
<option value="somevalue1">test value1</option>
<option value="somevalue2">test value2</option>
<option value="somevalue3">test value3</option>
</select>
<button id="sb_btn"> Submit </button>
</form>
這裏是AJAX代碼:
$('#sb_btn').on('click', function() {
$.ajax({
type: 'post',
url: 'some_url',
data: $('#sendstuff').serialize()
})
.done(function(data) {
data = jQuery.parseJSON(data);
alert(data.some_name);
});
});
下面是PHP腳本,被稱爲:
$data['some_name'] = $this->input->post('some_name')//i'm using codeigniter;
echo json_encode($data);
然而,我得到一個空值爲選擇輸入。
編輯 任何幫助是非常感謝的傢伙。我仍然沒有弄清楚什麼是錯的。
編輯 不知道這個帖子是否有任何codeigniter專家,但我解決了它。這是因爲Codeigniter的'$ this-> input-> post('somename')'方法出於某種原因無法正常工作。儘快將所有codeigniter的輸入命令添加到'$ _POST ['somename']'中,它解決了這個問題。下面是修改後的(工作)的PHP腳本代碼:
$data['some_name'] = $_POST['some_name'];
echo json_encode($data);
事件未定義。修復不會導致問題的錯誤 – guradio
,但不要將其保留到我刪除該行的那一點。 – Dave2345
你能做到這一點的數據? 'data:{some_name:$('select [name = some_name] option:selected')。val()},' – guradio