JavaScript 函数响应为空
javascript function response is empty
这是在数据库中添加数据的代码。但它是其他部分。响应为空。我通过警报检查了响应。但它是空的。
//add donation by ajaxs
function ccjkfoundation_adddonation()
{
var dateobj = jQuery('#donation_date');
var nameobj = jQuery('#donation_name');
var desobj = jQuery('#donation_des');
var assetobj = jQuery('#donation_asset');
var data = {
action: 'ccjkfoundation_adddonation',
date: dateobj.val(),
name: nameobj.val(),
des: desobj.val(),
asset: assetobj.val()
};
jQuery.post(ajaxurl, data, function(response){
alert(response);
if(response)
{
var retstr = eval("("+response+")");
jQuery('#donation-con').prepend(retstr['list']);
jQuery('#other_donation_asset').text('¥'+retstr['ototalasset']).attr('title',retstr['ototalasset']);
dateobj.val('');
nameobj.val('');
desobj.val('');
assetobj.val('');
ccjkfoundation_total_asset();
}
else
{
alert('Failure');
}
});
}
这是PHP函数。 请检查一下,如果我需要在数据库表中进行更改。
function ccjkfoundation_adddonation_callback()
{
ob_clean();
$date = trim($_POST['date']);
$name = trim($_POST['name']);
$des = trim($_POST['des']);
$asset = trim($_POST['asset']);
$ototalasset = get_option('ccjk_other_donation');
if(empty($name) || empty($asset) || !is_numeric($asset))
exit('');
global $wpdb;
$result = $wpdb->insert( DONATION_TABLE, array(
'name' => stripslashes($name),
'des' => stripslashes($des),
'asset' => $asset,
'date' => stripslashes($date)
));
if(!$result)
exit('');
$donation_id = (int) $wpdb->insert_id;
$ototalasset+=$asset;
$return_json = array('ototalasset'=>number_format($ototalasset));
update_option('ccjk_other_donation', $ototalasset);
$liststr = '
<tr id="donation_'.$donation_id.'">
<td><input type="text" name="donation_date_'.$donation_id.'" id="donation_date_'.$donation_id.'" class="form-required form-input-tip" placeholder="Date of Donation" aria-required="true" value="'.$date.'"></td>
<td><input type="text" name="donation_name_'.$donation_id.'" id="donation_name_'.$donation_id.'" class="form-required form-input-tip" placeholder="Donor Name" aria-required="true" value="'.$name.'"></td>
<td><input type="text" name="donation_des_'.$donation_id.'" id="donation_des_'.$donation_id.'" class="form-input-tip" placeholder="Donor Description" value="'.$des.'"></td>
<td><input type="text" name="donation_asset_'.$donation_id.'" id="donation_asset_'.$donation_id.'" class="form-required form-input-tip" placeholder="0" aria-required="true" value="'.$asset.'"></td>
<td><input type="button" class="button" value="Update" onclick="ccjkfoundation_updatedonation('.$donation_id.')"> <input type="button" class="button" value="Del" onclick="ccjkfoundation_deldonation('.$donation_id.');"></td>
</tr>
';
$return_json['list'] = $liststr;
echo json_encode($return_json);
die(); // this is required to return a proper result 这里是必须的
}
我相信
你正在使用WordPress,而$wpdb->insert()有问题。"insert"方法中缺少"格式"参数。它应该是这样的:
$result = $wpdb->insert( DONATION_TABLE,
array(
'name' => stripslashes($name),
'des' => stripslashes($des),
'asset' => $asset,
'date' => stripslashes($date)
),
array(
'%s',
'%s',
'%s',
'%s'
)
);
您应该能够根据需要调整"格式"标识符,例如 %s 表示字符串,%d 表示整数等。请参考 http://codex.wordpress.org/Class_Reference/wpdb#INSERT_rows
相关文章:
- 存储$http如何从$http函数(Angularjs)外部获取可访问变量中的响应
- 仅在响应视图中激发jQuery函数
- 使用来自不同异步函数的响应创建一个json对象
- 如何执行ajax响应返回的javascript函数
- php函数的XMLHttpRequest响应不包含任何数据
- 获取javascript函数中另一个javascript函数的响应
- 如何发送作为节点请求响应函数中的代码块的响应
- jquery返回ajax响应和用户定义的变量到函数
- 使用命名函数设置多个事件响应
- 如何等待javascript函数响应
- $http.post() angularjs 响应函数未按正确的顺序执行
- 未调用主干解析ajax响应函数
- AngularJS HTTP 资源 - 响应函数未定义
- 如何将 Rails 变量传递给 AJAX 响应函数
- 我无法让我的按钮响应函数
- 使用Cheerio和Response for Node web scraper,将响应函数结果传递给视图
- 在主页中创建按钮以重定向到响应函数
- 转换node.js HTTP响应函数(使用"request"库)来使用流
- Raphael.js弃用函数和响应函数的替代方案
- Angular 1.5 Scope变量在PouchDB响应函数中不起作用