【问题标题】:Sending two data's (image and number) via ajax通过 ajax 发送两个数据(图像和数字)
【发布时间】:2018-02-06 12:13:36
【问题描述】:

我需要使用 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>

我需要传递两个带数据的 var: 身份证和封面

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

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

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

【问题讨论】:

    标签: javascript jquery ajax forms post


    【解决方案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);
            }
        });
    });
    

    查看源代码看起来可以发送...至少对我来说是^^

    【讨论】:

    • 将它们发送到*对象中
    • @JeremyThille 已更改:D
    猜你喜欢
    • 2013-10-08
    • 2016-02-03
    • 1970-01-01
    • 2013-08-10
    • 2014-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多