通过ajax

时间:2018-02-06 12:13:37

标签: javascript jquery ajax forms post

我需要使用ajax传递两个不同的数据。

我有这个:



$('#sendcover').on('click',function(){
$.ajax({
     type: "POST",
     url: "{{ url('articles_changecover') }}",
     data: new FormData($('#test')[0]),
     processData: false,
     contentType: false,
     success: function (data) {
     alert(data);
    }
  });
});

<form name="test" id="test" method="post" enctype="multipart/form-data">
  <input type="text" value="{{article.id}}" name="id" />
  <input type="file" name="cover">
  <button id="sendcover" type="submit" class="saveData">Save</button>
</form>
&#13;
&#13;
&#13;

我需要传递两个包含数据的var: id和封面

id - 发送{{article.id}} 封面 - 发送图片

(在后端,它上传img并转换它 - 但它已经由其他人完成了)

有人可以帮助我如何正确地做到这一点吗?我从来没有做过这样的事情,我也找不到合适的答案。 :(

1 个答案:

答案 0 :(得分:1)

您可以将其作为分割对象发送,例如

data: {
    myId: id,
    myCover: cover
} 

但是目前您发送的实际内容应该是

$('form#test').submit(function(e) {
    e.preventDefault();
    var formData = new FormData(this);

    $.ajax({
        type: "POST",
        url: "{{ url('articles_changecover') }}",
        data: formData
        processData: false,
        contentType: false,
        success: function (data) {
            alert(data);
        }
    });
});

查看来源看起来很好发送...至少对我来说^^