Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Laravel 4中获取从Angular传递的FormData值?_Javascript_Php_Angularjs_Coffeescript_Laravel 4 - Fatal编程技术网

Javascript 如何在Laravel 4中获取从Angular传递的FormData值?

Javascript 如何在Laravel 4中获取从Angular传递的FormData值?,javascript,php,angularjs,coffeescript,laravel-4,Javascript,Php,Angularjs,Coffeescript,Laravel 4,我正在使用angular上传图像(同时还有其他数据),并使用angular服务传递给Laravel的路由,所有这些都使用javascript中的FormData函数。以下是我上传的代码(在coffeescript中): 而我的上传服务就是这样,指向拉雷维尔的路线: app.factory "UploadService", ["$resource", ($resource) -> news: $resource("upload/news") member: $resource

我正在使用angular上传图像(同时还有其他数据),并使用angular服务传递给Laravel的路由,所有这些都使用javascript中的
FormData
函数。以下是我上传的代码(在coffeescript中):

而我的
上传服务
就是这样,指向拉雷维尔的路线:

app.factory "UploadService", ["$resource", ($resource) ->
    news: $resource("upload/news")
    member: $resource("404/upload/member")
]
我的问题是,我无法读取从
FormData
传递到Laravel的数据,即使这样:

return Response::json(['data' => $_POST['title']]);


将返回未定义的索引“title”,我的代码的哪一部分是错误的?谢谢您的帮助。

这是我刚刚做的一个测试,用于检查FormData是否有效:

Route::post('test', function() {

    Log::info(Input::all());

    return Response::json(['data' => Input::all()]);

});
然后跟踪日志:

php artisan tail
你应该得到这样的东西:

[2014-04-04 20:10:19] server.INFO: {"_token":"MIFCleetMa029UGpUcvXUhawmVdJyl65zYBmXDHM","id":"1""first_name":"Antonio Carlos","last_name":"Ribeiro"}
这是我的(普通的)Javascript代码,应该在Angular应用程序中也能正常工作

var form = document.getElementById('form1');
var formData = new FormData(form);

var xhr = new XMLHttpRequest();

xhr.open('POST', 'http://development.consultoriodigital.net/test', true);

xhr.onreadystatechange = function() {
    if (xhr.readyState == 4) {
        console.log(xhr.responseText);
    }
}

xhr.send(formData);
您还必须将表单返回控制台

form1
表单可以包含任意数量的表单输入,这无关紧要

关于这一行的注释:

return Response::json(['data' => Input::get['title']]);
应该是

return Response::json(['data' => Input::get('title')]);

您是否尝试通过以下方式转储所有输入数据:dd(input::all());我注意到您在问题中使用了Input::get['title],这无论如何都不起作用
return Response::json(['data' => Input::get['title']]);
return Response::json(['data' => Input::get('title')]);