我的本地主机上有这个ajax请求。但是当我上传到我的共享主机时,他们会抛出500内部服务器错误。我正在通过_token。
var token = $('meta[name="csrf-token"]').attr('content');
$('.enviarForm').on('click',function(){
var data = {
'email': $('#email').val(),
'phone': $('#phone').val(),
'consulta':$('#consulta').val(),
'_token':token,
"_method": 'post'
};
console.log(data);
$('.enviarForm').html("Enviando...<img src='{{asset('img/loading-form.gif')}}'' alt=''>");
$.ajax({
method: 'POST',
url:'http://har***ine.com/public/testPost',
data:data,
success: function(msg) {
if(msg['message'] == 'success'){
$('.enviarForm').html("Enviado");
$.notify({
// options
message: 'Tu consulta fue enviada. Dentro de 24hs te responderemos a tu email o teléfono. Muchas gracias.'
},{
// settings
type: 'success',
placement: {
from: 'bottom',
align: 'center'
}
});
}else{
$('.enviarForm').html("Enviar");
$.notify({
// options
message: 'Error: Por favor complete todos los campos e intente nuevamente.'
},{
// settings
type: 'danger',
placement: {
from: 'bottom',
align: 'center'
}
});
}
}
});
});
我的测试控制器是:
public function testPost(Request $request){
return response()->json(['message'] => 'success'); }
我的路线文件是:
Route::post('/testPost',[
'uses' => 'ContactController@testPost',
'as' => 'contacto.testPost',
]);
我尝试了很多东西,但我不能让它发挥作用。 csrf令牌是它的okey,.htaccess是好的,最重要的是在localhost上工作。任何人都有任何想法?我为此疯狂。
答案 0 :(得分:0)
您可能需要将令牌作为标头值而不是正文发送。首先,从数据中删除'_token':token。然后:
$.ajax({
headers: {
'X-CSRF-TOKEN' : token
},
method: 'POST',
url:'http://har***ine.com/public/testPost',
data:data,
....