我在jQuery中做了一個函數,它將獲得一些數據表單頁面,然後它需要使用ajax發送數據。 我已經測試發送一些字符串作爲數據,所有工作正常,但現在,當我需要發送數組由於某種原因它不起作用。 在控制檯上我有:發送數組時,jquery和ajax
["3"]
[]
而我沒有得到警覺。可能是數據類型的一些問題?
$("#save").click(function() {
var sendArr= new Array();
var arr = $(".sortable").map(function(){return this.innerHTML}).get();
for (var i = 0; i < arr.length; i++) {
test =$(arr[i]).map(function() { return $(this).attr("data-ex"); });
console.log(test);
sendArr[i]=test;
}
$.ajax({
type: "POST",
url: "http://localhost/someurl/",
data: {action: sendArr}
}).done(function(msg) {
alert("Data Saved: " + msg);
});
});
您是否嘗試添加'.fail'來查看爲什麼'.done'沒有被觸發? – rjz
首先,數據屬性是通過'data()'方法獲得的,其次,如果data屬性是你所追求的,爲什麼不映射它,而不是映射innerHTML,然後用它來獲取數據屬性,你會跳過很多不必要的箍。最後,您的服務器端腳本是否處理數組,並且在發送之前將其包裝在對象中後,它不是真正的數組。 – adeneo