我想创建一个可编辑的文本区域,将输入的值发布到数据库中,然后将新值返回到替换textarea的div。我在Stackoverflow上发现了这个,它处理将新值返回给div。
$(document).ready(function() {
$('.edit_area').editable(submitEdit, {
indicator : "Saving...",
tooltip : "Click to edit...",
type : "textarea",
submit : "OK",
cancel : "Cancel",
name : "Editable.FieldName",
id : "elementid",
});
function submitEdit(value, settings)
{
var edits = new Object();
var origvalue = this.revert;
var textbox = this;
var result = value;
edits[settings.name] = [value];
var returned = $.ajax({
url: "http://jimmymorris.co.uk/xmas/record_xmas_msg.php",
type: "POST",
data : edits,
dataType : "json",
complete : function (xhr, textStatus)
{
var response = $.secureEvalJSON(xhr.responseText);
if (response.Message != "")
{
alert(Message);
}
}
});
return(result);
}
});
我的问题是我不知道我的POST变量被调用了什么所以我可以插入到我的数据库中。它甚至将POST var返回给php还是发送了php json,我怎么知道它叫什么?
请提前帮助干杯。
答案 0 :(得分:0)
它发送到服务器的内容取决于您提供给$ .ajax选项参数的“post”区域。
如果您传递查询字符串parementer data : "name=foo&surname=bar"
PHP脚本将在$ _POST变量中接收它,并且可以通过$_POST['name']
$_POST['surname']
进行访问
但是,如果将对象传递给data参数,则会将其更改为查询字符串,即
data : {name : 'foo', surname : 'bar'},
JQuery.ajax会将其更改为一个查询字符串,就像上面的示例那样它将被发送到服务器,PHP脚本也会像上面提到的那样访问它。
P.S我强烈建议在向服务器encodeURIComponent(variable)
发送数据时使用某种类型的编码,然后使用urldecode在PHP中对其进行解码。
答案 1 :(得分:0)
您已发布ID,您可以在PHP页面中检索$_POST['id']
。文本将作为值发布,您可以在PHP页面中将其作为$_POST['value']
检索。您当然可以更改默认名称。