[英]jquery and ajax when sending array
我在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 );
});
});
gogic-制作一个更简单的示例进行测试,然后从中进行构建。
$(function() {
var serialized = JSON.stringify({"msg" : "Hello!"});
$.ajax({
url: myURL,
type: 'POST',
data: serialized,
contentType: 'json',
dataType: 'html'
}).done(function(obj) {
$('div').html(obj.msg);
}).fail(function() {
alert('Failed!');
});
});
dataType是您期望收到的; contentType是您要发送的内容。 您的JSON必须使用JSON.stringify(obj)进行序列化。
另外,当您将数组作为JSON发送时,它应类似于:
var array_json = {"myArray" : [1, "example", 2, "array"]}
var serialized = JSON.stringify(array_json)
使用console.log确保您创建的JSON有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.