将JavaScript数组转换为formData
我无法通过Ajax将数组传递给PHP 请参阅JSFIDLE 我已经从一个字符串创建了一个数组。字符串是电影中演员的列表。我想将演员列表作为与“Cast”关联的数组传递,因此Cast=[actor 1,actor 2,actor 3] 当我试图将其附加到formData时,一切似乎都出错了,因为它仍然是空的将JavaScript数组转换为formData,javascript,arrays,ajax,Javascript,Arrays,Ajax,我无法通过Ajax将数组传递给PHP 请参阅JSFIDLE 我已经从一个字符串创建了一个数组。字符串是电影中演员的列表。我想将演员列表作为与“Cast”关联的数组传递,因此Cast=[actor 1,actor 2,actor 3] 当我试图将其附加到formData时,一切似乎都出错了,因为它仍然是空的 有什么想法吗?您根本不需要任何表单数据 只需将数据参数 var request = $.ajax({ method: 'post', url: url, data
有什么想法吗?您根本不需要任何表单数据 只需将
数据
参数
var request = $.ajax({
method: 'post',
url: url,
data: params,
...
});
Jquery将自动执行所有必要的操作。您不需要
。每个函数都可以创建另一个数组,通过拆分字符串,您已经为变量cast
创建了一个数组。您的ajax方法看起来是正确的,但它可以通过请求体完成,在这种情况下,您不一定需要FormData。FormData主要用于文件上载
对于错误处理程序,建议对回调值使用类似于err
或error
的内容,它为您自己和其他人提供了更高的可读性
我帮你做了一些修改:
function autoPopulate() {
var cast = "John Wayne, Julia Roberts, Kevin Spacey";
cast = cast.split(', ');
return_ajax_result('app/handlers/get_cast_ids.php', {cast});
}
function return_ajax_result(url, params) {
var request = $.ajax({
method: 'post',
url: url,
data: params,
beforeSend: function() {
$(".ng-loading-container").addClass("ng-loading-container-show");
},
success: function(result) {
console.log(result);
},
error: function(err) {
console.log(err);
},
});
};
autoPopulate()
小提琴可以在这里找到:谢谢,我本应该早点回来的,但我最终还是解决了。正在休假,有点生疏。
function autoPopulate() {
var cast = "John Wayne, Julia Roberts, Kevin Spacey";
cast = cast.split(', ');
return_ajax_result('app/handlers/get_cast_ids.php', {cast});
}
function return_ajax_result(url, params) {
var request = $.ajax({
method: 'post',
url: url,
data: params,
beforeSend: function() {
$(".ng-loading-container").addClass("ng-loading-container-show");
},
success: function(result) {
console.log(result);
},
error: function(err) {
console.log(err);
},
});
};
autoPopulate()