我有一个页面,我使用load
加载对话框。从那个对话框中,我在那里有一个jQuery向PHP脚本发布一个ajax请求。一切正常。从PHP我回显结果并尝试从这个加载的对话框中的done
回调中捕获它 - 但它不起作用。它更新数据库,但我无法捕捉到回声。这在我的网站的其他地方工作,但我无法在这里工作。我认为这可能与这个来自“加载”对话框的事实有关?任何帮助将不胜感激。
启动加载的原始页面上的代码...
$('#edit_cats').click(function() {
$('#overlay').show();
$("#loader4").show().center();
$('#dialogLoad').show().load('../../dialog/categories.php', {'site_user':'<?=$user_id?>','id':'<?=$blog['id']?>'});
});
加载对话框中的AJAX代码
$('.cat_input').bind('blur keyup', function(e) {
if(e.type === 'keyup' && e.keyCode !== 10 && e.keyCode !== 13) return;
$(this).hide();
var cat_title = $(this).val();
var cat_id = $('.cat_selected').attr('id');
$.ajax({
type: "POST",
url: "../../system/process-cat-update.php",
dataType: "json",
data: { 'title':cat_title, 'cat_id':cat_id}
}).done(function(data) {
$('.cat_selected').find('.cat_title').html(data).show();
});
});
PHP代码
<?php
include ('connect.php');
mysql_query("UPDATE blog SET category='".$_POST['title']."' WHERE id='".$_POST['cat_id']."' ");
echo $_POST['title'];
?>
答案 0 :(得分:3)
您没有在回复中发送json,因此dataType: "json"
不正确,删除dataType
属性应解决您的问题。此外,您还没有对输入进行消毒,因此您可以使用sql注入。