将文件发布到ajax json类型数组中

时间:2017-12-22 11:55:11

标签: javascript php jquery json ajax

我正在尝试实现以下方案:

由于文件对象是通过字符串格式发布的,我如何将文件对象转换为php文件。

传递数据:

Array (7)
0 {name: "title", value: "ABC"}
1 {name: "lat", value: "4.627044746156027"}
2 {name: "lng", value: "3.724853515625"}
3 {name: "area_id", value: "1"}
4 {name: "_token", value: "7G643pPBJxxEkfaXrYkZq7e3sBcdQjcmekoPVRAB"}
5 {name: "file[]", value: File}
6 {name: "file[]", value: File}

返回的数据:

["[object File]", "[object File]"]

我需要将文件解析为laravel但无法获取文件对象值。

注意:我希望在没有FormData的情况下实现这一目标。

以下是传递数据的代码:

function ajaxRequest(postUrl, method, postData) {
    postData.push({name: '_token', value: $('meta[name="csrf-token"]').attr('content')});

    if(files !== undefined) {
        $.each(files, function(i, file) {
            postData.push({name: 'file[]', value: file});
        });
    }

    console.log(postData);

    $.ajax({
        url: dataUrl + postUrl,
        method: method,
        data: postData,
        success: function(data) {
            console.log(data);
            // eval('toastr.' + data.class + '("' + data.message + '")');
            // window.setTimeout(function() { location.reload(); }, 2000)
        },
        error: function() {
            toastr.error("An error occured, please try again.");
        }
    });
}

0 个答案:

没有答案