我在JavaScript和ajax中使用yii2和新手。
我收到此错误:
jquery.js:9175 POST http://localhost/istanagroup/web/purchase-order/basepricenet 500(内部服务器错误)
这是控制器功能
public function actionBasepricenet(){
$id = $_POST['id'];
$model = MasterItem::find()->andFilterWhere(['id_master_item'=>$id])->one();
echo $model;
这是js:
$('#purchaseorderdetail-0-id_master_item').change(function(){
var cat = $(this).val();
$.ajax({
type:'POST',
url:'http://localhost/istanagroup/web/purchase-order/basepricenet',
data : {id:cat},
dataType : 'text',
success:function(res){
console.log(res);
$('#purchaseorderdetail-0-base_price').val(res);
}
});
});
答案 0 :(得分:0)
获取Yii2文档,
andFilterWhere
为现有条件添加了一个额外的WHERE条件,但忽略了空操作数。
在您的情况下,您没有声明where()
条件。此外,在请求中始终提供ID后,您可以将andFilterWhere()
更改为正常where()
,如下所示:
public function actionBasepricenet(){
if (isset($_POST['id'])){
$id = $_POST['id'];
$model = MasterItem::find()->where(['id_master_item'=>$id])->one();
var_dump($model);
} else {
// ID not received! Error!
}
}