将JavaScript数组转换为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

我无法通过Ajax将数组传递给PHP

请参阅JSFIDLE

我已经从一个字符串创建了一个数组。字符串是电影中演员的列表。我想将演员列表作为与“Cast”关联的数组传递,因此Cast=[actor 1,actor 2,actor 3]

当我试图将其附加到formData时,一切似乎都出错了,因为它仍然是空的


有什么想法吗?

您根本不需要任何表单数据

只需将
数据
参数

  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()