【发布时间】:2019-10-06 14:14:08
【问题描述】:
我正在为这段代码苦苦挣扎。我无法使用 ajax 发送响应。 Ajax 脚本在这里。
$(document).ready(function () {
$('#selectSize').change(function () {
var idSize = $(this).val();
$.ajax({
type: "get",
dataType: 'json',
url: 'getproductprice',
data: {
idSize: idSize
},
success: function (response) {
console.log("working");
},
error: function () {
console.log("error");
}
});
});
});
这是 Blade 标记
<select name="size" id="selectSize" style="width:150px;">
<option value="">Select Size</option>
@foreach($productDetails->attributes as $size)
<option value="{{$productDetails->id}}-{{$size->size}}">{{$size->size}}</option>
@endforeach
</select>
这是控制器代码
public function getProductPrice(Request $request)
{
$data = $request->all();
$proArr = explode("-", $data['idsize']);
$proAttr = ProductsAttribute::where(['product_id' => $proArr[0], 'size' => $proArr[1]])->first();
$getCurrencyRates = Product::getCurrencyRates($proAttr->price);
echo $proAttr->price . "-" . $getCurrencyRates['USD_Rate'] . "-" . $getCurrencyRates['GBP_Rate'] . "-" . $getCurrencyRates['EUR_Rate'];
echo "#";
echo $proAttr->stock;
}
我不知道,当我选择选项值时,我做错了什么。 错误会来的。
“试图获取非对象的属性'图像'(查看: C:\xampp\htdocs\wrost\resources\views\shop\product-details.blade.php)"
【问题讨论】:
-
更改 -
$proArr = explode("-",$data['idsize']);到$proArr = explode("-",$data['idSize']);。另一方面,请检查您的数据库和应用程序文件夹中是否存在image。 -
这可能会导致,可能
$proAttr有image字段和值,但图像在您的应用程序中不存在。 -
Rashaed Hashan@其他地方都在工作
-
你在其他地方是什么意思?在与其他控制器、方法或其他新应用程序的现有应用程序中?
-
@在不同的应用程序中使用相同的方法和相同的 ajax 调用