我的代码有问题,我想知道是否可以$_POST
在我的控制器中显示我的代码以查看发生了什么:
在我的jQuery
代码中,我的ajaxCall
函数以以下格式构建n ajaxCall(url, data_array, div_id, callback_fn)
我已经完成console.log(data_array);
并且它显示了正确的数据,但是有没有看到里面发生了什么,callback_fn
因为它没有保存到数据库中?
由于我所有的代码都返回了 200 且没有错误,所以我回到了这个问题
阿贾克斯代码:
$('body').on("click", "#product_save_youtube_btn", function (e) {
e.preventDefault();
var box = $("#product_youtube");
var id = box.data("id");
var url = box.data("url");
var data_array = {
id : id,
new_id : box.val(),
};
//console.log(data_array);
if($.trim(box.val()) != "")
{
ajaxCall(url, data_array, null, "update_product_youtube");
alert("Your You Tube ID Has Been Changed");
}
});
ajax调用:
function ajaxCall(url, data_array, div_id, callback_fn) {
return $.ajax({
type:'POST',
url:url,
beforeSend: function(){
$("#" + div_id).html("<img src='http://www.domain.co.nz/files/large/ajax-loader.gif' alt='Loading..' title='Loading..'/>");
},
data:data_array,
complete:function (data) {
$("#" + div_id).html(data.responseText);
if(callback_fn != null)
{
eval(callback_fn + '()');
}
}
});
}
PHP 代码 - Callback_fn:
public function ajax_update_product_youtube()
{
if($_POST)
{
$id = intval($_POST['id']);
$new_id = mysqli_real_escpe_string(trim($_POST['new_id']));
if(empty($id))
{
$this->Ps_products_model->update_product_youtube($id, $new_id);
}
}
}
模型:
public function update_product_youtube($table, $id, $new_id)
{
$table = $this->_table_products;
$this->db->query("UPDATE {$table} SET youtube = ? WHERE id = ?", array($new_id, $id));
}