我想提交非常简单的表格使用前端的反应和laravel后端我使用教程facebook反应但使用ES6控制台日志显示给我“parsererror”“SyntaxError:意外的输入结束”
所以In React
handleSubmit(e) {
e.preventDefault();
var name = this.refs.name.value.trim();
var description = this.refs.description.value.trim();
console.log(`Name : ${name} , and Description ${description}`);
if (!name || !description) {
return;
}
this.props.onCommentSubmit({name: name, description: description});
this.refs.name.value = '';
this.refs.description.value = '';
return;
}
render(){
return(
<form onSubmit={this.handleSubmit.bind(this)}>
<input type="text" placeholder="Your name" ref="name" />
<input type="text" placeholder="Say something..." ref="description" />
<input type="submit" value="Post" />
</form>
);
}
我将此类导入全局类
constructor() {
super();
this.state = { data: [] };
}
handleCommentSubmit(d) {
var comments = this.state.data;
var newComments = comments.concat([d]);
this.setState({data: newComments});
$.ajax({
type: 'POST',
url: 'http://localhost:8000/photo',
dataType: 'json',
data: d,
context: this,
success: (data) => {
this.setState({data: data});
},
error: (xhr, status, error) => {
console.error(this.props.url, status, error.toString());
}
});
}
render(){
return(
<FormCtl onCommentSubmit={this.handleCommentSubmit.bind(this)}/>
);
}
在Backend中使用Laravel 5.1
public function store(Request $request)
{
$photo = new Photo();
if($request->ajax())
{
$data = Input::all();
print_r($data);die;
}
}
在控制台日志中的我看这个“parsererror”“SyntaxError:Unexpected token A”
我无法恢复数据或将其保存在数据库中
答案 0 :(得分:0)
一个简单的解决方案是不使用print_r()打印数据,而是简单地使用laravel中的响应json函数。
$data = Input::all();
return response()->json($data);
你将在你的$ .ajax中按照你的要求返回json。