gpt4 book ai didi

php - Laravel Blade 中无法显示 Jquery 和 Ajax 错误消息

转载 作者:行者123 更新时间:2023-12-01 04:00:47 25 4
gpt4 key购买 nike

我在 Laravel 中使用 Ajax 和 Jquery 插入账本记录。成功消息已正确显示,但错误自定义消息无法在 Blade View 中显示。我的错误是什么,请指出。

Jquery:

$("#add").click(function(event) {
event.preventDefault();

$.ajax({
type: 'post',
url: $("#add").attr('data-url'),
data: {
'_token': $("input[name=_token]").val(),
'form_data': $('#Form').serialize(),
},
success: function(data) {
$('#ledger_name').val('');
$('#openning_balance').val('');
$('#ob_type').val('');
$('#under').val('');
$('#ledger_address').val('');
$("#newLedger .close").click();

$(".result").html(data.success).css({
'color': 'green',
'text-align': 'center'
}).delay(5000).fadeOut();
},
error: function(data) {
$('#response').show().html(data.error).css({
'color': 'red',
'text-align': 'center'
}).delay(5000).fadeOut();
}
});
});

Controller :

$values = array();
parse_str($_POST['form_data'], $values);

$validation = $this->validator($values,true );
if($validation->fails()){
$errors = $validation->errors();
return response()->json(['error' => 'Please Fill all Mandatory Fields',],500);
}

$insertledgers=Ledger::create(['ledger_name'=>$values['ledger_name'],'openning_balance'=>$values['openning_balance'],'ob_type'=>$values['ob_type'],'under'=>$values['under'],'ledger_address'=>$values['ledger_address'],'company_id'=>$companyids,'user_id'=>$usersid,'created_by'=>$usersid]);

$ledgerinsertids=$insertledgers->id;

if($values['ob_type'] == 'Cr'){

$creditamts=$values['openning_balance'];
$debitamts= 0;

} else {

$creditamts=0;
$debitamts= $values['openning_balance'];

}

$insertledgeropenningbalance=Openningbalance::create(['ledgerid'=>$ledgerinsertids,'opening_credit'=>$creditamts,'opening_debit'=>$debitamts,'company_id' => $companyids,'user_id' => $usersid,'created_by' => $usersid,]);

return response()->json(['success' => 'Ledger Details Added Successfully',],200);

最佳答案

试试这个:

<?php
use Validator;

class SomeController extends Controller {

public function SomeFunction(Request $request) {
$values = array();
parse_str($_POST['form_data'], $values);

$validation = Validator::make($values, true);

if($validation->fails()){
$errors = $validation->errors();
return response()->json(['error' => 'Please Fill all Mandatory Fields'], 500);
}

$insertledgers=Ledger::create(['ledger_name'=>$values['ledger_name'],'openning_balance'=>$values['openning_balance'],'ob_type'=>$values['ob_type'],'under'=>$values['under'],'ledger_address'=>$values['ledger_address'],'company_id'=>$companyids,'user_id'=>$usersid,'created_by'=>$usersid]);

$ledgerinsertids=$insertledgers->id;

if($values['ob_type'] == 'Cr'){

$creditamts=$values['openning_balance'];
$debitamts= 0;

} else {

$creditamts=0;
$debitamts= $values['openning_balance'];

}

$insertledgeropenningbalance=Openningbalance::create(['ledgerid'=>$ledgerinsertids,'opening_credit'=>$creditamts,'opening_debit'=>$debitamts,'company_id'
=> $companyids,'user_id' => $usersid,'created_by' => $usersid,]);

return response()->json(['success' => 'Ledger Details Added Successfully',],200);

并且在 View 中:

error: function(data)
{
$('#response').html(data.error).css({'color': 'red', 'text-align': 'center'})
$('#response').show().delay(5000).fadeOut();
}

关于php - Laravel Blade 中无法显示 Jquery 和 Ajax 错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44713488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com