我有一些輸入字段的表單,也有一個陣列輸入字段:輸入數組字段中添加單引號時控制檯登錄快遞JS(節點JS)
<input type="hidden" id="user_id" name="user_id" value="1" />
<input type="text" name="test[0][name]" value="car" />
<input type="text" name="test[1][value]" value="100" />
我張貼通過AJAX這種形式。 現在,當我控制日誌發佈數據到快遞js。我越來越象下面這樣:
{
user_id : '1',
'test[0]' : 'a',
'test[1]' : 'b',
}
所以問題是:
1)爲什麼我收到輸入數組這樣嗎?相反,我應該將數組作爲快速js中的對象。
2)我能夠使用post.user_id
訪問user_id,但無法訪問測試數組。
我試圖訪問使用post.test
和post.test.name
測試陣列,但始終未定義。
我的Ajax代碼是:
$("#frmSave").on('submit', function(e) {
e.preventDefault();
var el = $("#btnPublish");
var formData = new FormData();
formData.append("image",$("#image").get(0).files[0]);
var other_data = $("#frmSave").serializeArray();
$.each(other_data, function(key, input) {
formData.append(input.name, input.value);
})
$.ajax({
url : "{{ admin_url }}offer/add",
type : "POST",
data : formData,
dataType : "json",
contentType : false,
processData : false,
beforeSend : function() {
el.html('<img src="{{ admin_url }}images/loaders/loader5.gif" width="15"> Wait...');
},
success : function(json) {
if(json.errors) {
var errors_string = '';
$.each(json.errors, function(index,value) {
errors_string += value + '<br />';
});
if(errors_string != '') {
$.gritter.add({
title: 'Required Field',
text: errors_string,
class_name: 'growl-danger',
sticky: false,
time: '2000'
});
}
} else if(json.error_msg) {
$.gritter.add({
title: 'Error!',
text: json.error_msg,
class_name: 'growl-danger',
sticky: false,
time: '2000'
});
} else if(json.success_msg) {
$.gritter.add({
title: 'Success',
text: json.success_msg,
class_name: 'growl-success',
sticky: false,
time: '2000'
});
}
el.html('<i class="fa fa-globe"></i> Publish');
},
error(xhr, ajaxOptions, thrownError) {
$.gritter.add({
title: 'Something went wrong',
text: xhr.status + ':' + thrownError,
class_name: 'growl-warning',
sticky: false,
time: '2000'
});
el.html('<i class="fa fa-globe"></i> Publish');
}
})
});
因此,誰能幫助我? 在此先感謝
您是否在使用[this](https://github.com/expressjs/body-parser)?如果是這樣,請檢查在urlencoded選項中[擴展名](https://github.com/expressjs/body-parser#extended)是否爲'true'。 – FirstOne
我做了這個真正的「app.use(bodyParser.urlencoded({extended:true}));」我正在使用強大的模塊來訪問發佈數據。 – Ankit
我從來沒有使用強大的,所以如果我以前的評論沒有使它的工作,我不能幫你。 sry – FirstOne