我发送了一个ajax post请求,并获得了响应,但它是空的。是否有一些细节需要调整?
我们的想法是发送使用提交按钮提交的文本。但仅仅是为了测试,我已经将数据指定为" url":" helllo"。
$(document).ready(function() {
$('form.ajax').on('submit', function(e) {
e.preventDefault();
var submitted = $(this),
destination = submitted.attr('action'),
method = submitted.attr('method'),
url_send = {
"url": "helllo"
};
$.ajax({
type: method,
contentType : 'application/json',
url: destination,
data: url_send,
success: function(response){
console.log(response);
},
error: function(){
console.log("there was an error");
}
});
"方法" (帖子)和"目的地"在表格中指定。所以" url_send"是发送的对象。这应该在另一端检索为{" url":" helllo"},还是嵌套在对象中?
在使用laravel的PHP中,我有一个控制器函数,其中收到请求:
$data = json_decode(file_get_contents("php://input"));
如果$ data为空,则返回:
return Response::json($data);
这给了我
Object { }
答案 0 :(得分:3)
您正在传递data
一个对象,因此它将被jQuery urlencoded。
您需要实际发送JSON。
data: JSON.stringify(url_send)