一旦选择了quantity下拉按钮,价格字段就会相应地更改。然而,我不断获得成功的警报,但数据显示为空结果。
我试着用success代替done,但结果是一样的。我还删除了datatype: json,仍然没有更改。
$('#qty').change(function(){
var val = $(this).val();
$.ajax({
method: "GET",
url: "someURLHERE",
data: { val: val},
dataType: "html"
})
.done(function(data) {
alert("Success" + data);
$('#price').html(data);
$('#price').trigger('change');
}).fail(function() {
alert("Fail");
})
});这是我的模型:
public function getPrice($product_id, $quantity){
$sql = "SELECT price FROM `price_table` where quantity = '".$quantity."' and product_id = '".$product_id."' ";
$query = $this->db->query($sql)->row_array();
return $query;
}这是我的控制器:
public function getPrice(){
$p_id = $_GET['p_id'];
$qty = $_GET['qty_ag'];
$price = $this->users_model->getPrice($prpduct_id, $quantity);
json_ok($price);
}现在,警告框返回成功{“status”:“OK”,"data":{"pv_value":"120.00"}}
我想要的只是值120.00
发布于 2019-06-14 21:12:06
你说你删除了dataType: "JSON",但是你在服务器端返回的是什么类型的数据,又是如何返回的呢?
例如的
如果你期望的是JSON类型的数据,那么你仍然可以在JavaScript中使用它:
$('#qty').change(function(){
var val = $(this).val();
$.ajax({
method: "GET",
url: "someURLHERE",
data: {
val: val
},
dataType: "JSON" // notice I've returned it to JSON
})
.done(function(data){
console.log("Success" + data); // notice I'm using "console.log"
$('#price').html(data);
$('#price').trigger('change');
})
.fail(function(){
alert("Fail");
})
});但是,在服务器端,PHP应该像这样返回数据:
<?php
header("Content-Type: application/json");
die(json_encode($yourData));
?>发布于 2019-06-17 10:20:34
你的模型getPrice()方法必须返回一些东西。
https://stackoverflow.com/questions/56596796
复制相似问题