[英]POST 500 internal server error
我正在尝试学习如何将值从jquery传递到控制器并将其插入数据库,而不是在laravel 5.4中将值从表单传递到控制器,但是不幸的是我收到此错误消息:
POST http:// xxxx:x / addtable 500(内部服务器错误)。
这是我的刀片文件:SampleInsert.blade.php
{{csrf_field()}}
<input type="text" id="sample2" required>
<div>
<button type="button" class="button" onclick = "submit();"> SUBMIT</button>
<a href="{{ url ('/') }}"><button type="button" class="button"> Cancel</button></a>
</div>
jQuery的:
function submit() {
var samp = Array();
samp[ 0 ] = 1;
samp[ 1 ] = 'a';
samp[ 2 ] = document.getElementById( "sample2" )
.value;
samp[ 3 ] = 2;
samp[ 4 ] = 3;
var sample = JSON.stringify( samp );
$.ajax( {
type: "POST",
url: '/addtable',
data: {
pSample: sample
},
success: function ( result ) {
alert( 'Success' );
alert( result );
}
} );
} //submit();
可添加的控制器:
public function addTable(){
$sample = json_decode(Input::get('pSample'));
$sample1 = $sample[0];
$sample2 = $sample[1];
$sample3 = $sample[2];
print_r($sample3);
print_r($sample);
}
先感谢您。
<meta name="csrf-token" content="{{ csrf_token() }}">
和
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
尝试如下代码:
<meta name="csrf_token" content="{{ csrf_token() }}" />
然后,您需要发出一个ajax请求,使用beforeSend方法。
$("#try").click(function(){
var url = $(this).attr("data-link");
$.ajax({
url: "test",
type:"POST",
beforeSend: function (xhr) {
var token = $('meta[name="csrf_token"]').attr('content');
if (token) {
return xhr.setRequestHeader('X-CSRF-TOKEN', token);
}
},
data: { testdata : 'testdatacontent' },
success:function(data){
alert(data);
},error:function(){
alert("error!!!!");
}
}); //end of ajax
});
控制器:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class SampleController extends Controller
{
/**
* Receive data here
*
* @param Request $request
* @return Response
*/
public function addTable(Request $request) {
if ($request->isMethod('post')) {
//$request->input('field_name_here');
$sample = $request->input('pSample');
print_r($sample);
}
}
}
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.