【发布时间】:2014-07-21 00:22:36
【问题描述】:
我正在使用 Wordpress,我正在尝试为我的个人目的(学习)开发一个插件。
目前我已经为插件的激活和停用创建了一个主文件 (wp-maincat.php),它在 Wordpress 中创建了一个名为 categ_tag 的自定义表。
此文件还创建一个菜单并包含另外 3 个页面:
- Page.3:(问题)Wordpress“标签”页面的克隆。
在该页面中,我想在左侧创建提交部分,在右侧创建使用 AJAX 显示结果的表格,因此无需重新加载页面。
问题是当我按下提交按钮时,什么也没有发生,或者更好的是我收到了一个没有错误的alert()。另一方面,alert() 告诉我代码返回错误。另一个问题是我看不到数据库中是否已经有一些行。
如果我删除 url:ajaxurl,代码可以工作,但在响应 div 中它会加载整个 wordpress 页面。任何帮助,将不胜感激!
这是一些代码。
更新
这部分添加了数据库中的条目
global $wpdb;
$table_name = $wpdb->prefix."categ_tag";
if(isset($_POST["content_txt"]) && strlen($_POST["content_txt"])>0) {
$contentToSave = $_POST["content_txt"];
$insert_row = $wpdb->query($wpdb->prepare(" INSERT INTO $table_name ( name_cats ) VALUES ('".$contentToSave."')"));
if($insert_row) {
$my_id = $mysqli->id; //Get ID of last inserted row from MySQL
echo '<li id="item_'.$my_id.'">';
echo '<div class="del_wrapper"><a href="#" class="del_button" id="del-'.$my_id.'">';
echo '<img src="images/icon_del.gif" border="0" />';
echo '</a></div>';
echo $contentToSave.'</li>';
}else{
header('HTTP/1.1 500 Looks like mysql error, could not insert record!');
exit();
}
}
?>
这是产生问题的部分代码 (ajaxurl)
<script>
jQuery(document).ready(function($){
$("#publish").click(function (e) {
e.preventDefault();
var myData = 'content_txt='+ $("#name_cats").val();
var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>";
jQuery.ajax({
type: "POST",
url: ajaxurl, // <------- The problem is here
dataType:"text",.
data:myData,
success:function(response){
$("#responds").append(response);
$("#name_cats").val('');
$("#publish").show();
$("#LoadingImage").hide();
},
error:function (xhr, ajaxOptions, thrownError){
alert(thrownError);
}
});
});
});
</script>
形式
<h2>Category Tags</h2>
<div id="col-left">
<h3>Add New Category</h3>
<form id="addcats" method="post">
<div class="form-field">
<label for="tag-name">Name</label>
<input id="name_cats" name="name_cats" type="text" style="width: 95%" value="<?php echo esc_attr($item['name_cats'])?>" class="code" required />
</div>
<p class="submit">
<input type="submit" name="publish" id="publish" class="button" value="Submit" />
</p>
</form>
</div>
<div id="col-right">
<h3>Category List</h3>
<ul id="responds">
</ul>
</div>
【问题讨论】:
-
你能发一个MCVE吗?请强调minimal ;)
-
在某些部分拆分了代码。整个源代码在一页中!