我正在使用ajax實現一個帶有文本字段的彈出式窗口,該窗口允許在不提交表單的情況下在下拉菜單中創建新選項。這不是很有效。關鍵問題似乎是我無法獲得字符串new_option到PHP。在下面的$ _POST數組中如何是空的?ajax怎麼沒有發佈一個字符串?
<script type="text/javascript">
$.ajaxSetup ({
cache: false
});
$('#upload_form option[value="addnew"]').click(function() {
// Show modal window
$('#add-new').modal('show');
$('#add-new-submit').on('click', function() {
// Get new option from text field
var new_option = $('#add-new-text').val();
console.log(new_option);
$.ajax({
type: "POST",
url: "<?php echo site_url(); ?>main/upload_page",
data: {new_option:'new_option'}
}).fail(function (jqXHR, textStatus, errorThrown) {
console.error("The following error occured: " + textStatus, errorThrown);
});
$('#add-new').modal('toggle');
});
});
</script>
<?php
$new_option = $_POST['new_option']; # <----- Gives Undefined index error
//var_dump($new_option);
// When I get this working this is how I'll get $new_option
if(isset($new_option))
{
$new_option = $_POST['new_option'];
$species = array($new_option => $new_option) + $species;
//print_r($new_option);
//print_r($species);
var_dump($new_option);
}
?>
在我看到輸入的字符串(new_option)的控制檯,但PHP給出一個錯誤:在$ new_option = $ _POST [ 'new_option'](未定義索引new_option)。我已經嘗試了一個巨大的事情,似乎無法得到PHP的new_option。我錯過了明顯的東西嗎?在此先感謝您的幫助!
@JonRed - 不,如果是這樣的話,那麼你永遠不能發送多個數據。 –
嘗試添加'dataType:'json''? – Timber
var_dump($ _ POST);輸出是什麼? – Shomz