我的路线;
Route::post ('/sepetim/ajax', 'ShoppingCartController@addStock');
我的Ajax代码如下;
$.ajax({
type: 'POST',
url: '/sepetim/ajax',
data: {
'_token': $('input[name="_token"]').val(),
'name': $('input[name=name]').val(),
'cart_id': $('input[name=cart_id]').val(),
'stock_id': id
},
success: function(data) {
// alert(data.stock_id);
$('#5').replaceWith("<span class='para fw6'>{{number_format(data.x * data.price, '2' , ',' , '.')}} TL</span>");
// $('#u').replaceWith(" <p class='para toplamfiyat'>55,08 TL</p>");
},
});
$('#name').val('');
我的 Controller 如下;
public function addStock(Request $request) {
$data = new ShoppingCartDetail();
$data - > cart_id = $request - > input('cart_id');
$data - > stock_id = $request - > input('stock_id');
$data - > price = 1;
$data - > save();
$data - > x = 4;
$data - > price = 1200;
return response() - > json($data);
//return response()->json(["data" => $data]);
}
我可以获取数据中的值 $data->price 和 $data->x,但 ajax 成功部分我无法打印。
ajax成功函数如下;
success: function(data) {
// alert(data.stock_id);
$('#5').replaceWith("<span class='para fw6'>{{number_format(data.x * data.price, '2' , ',' , '.')}} TL</span>");
// $('#u').replaceWith(" <p class='para toplamfiyat'>55,08 TL</p>");
},
如何在 number_format() 中将数据传递给此函数?
最佳答案
不要在 View 文件中格式化数据,而是在 Controller 中格式化数据,然后将其发送到 View 。这样就可以直接使用格式化后的数据了。
将 Controller 代码更改为以下内容: 公共(public)函数addStock(请求$请求){
$data = new ShoppingCartDetail();
$data->cart_id = $request->input('cart_id');
$data->stock_id = $request->input('stock_id');
$data->price = 1;
$data->save();
$data->x = 4;
$data->price = 1200;
$formattedPrice = number_format($data->x * $data->price, '2' , ',', '.');
return response()->json(["data" => $data, 'formattedPrice' => $formattedPrice]);
}
然后您可以使用新的“formattedPrice”:
$('#5').replaceWith("<span class='para fw6'>" + data.formattedPrice + "TL</span>");
关于javascript - 从 JavaScript 到 PHP 的参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48319353/