1

我想创建一个可编辑的文本区域,将输入的值发布到数据库中,然后将新值返回给替换文本区域的 div。我在处理将新值返回到 div 的 Stackoverflow 上找到了这个。

$(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,我怎么知道它叫什么?

请帮忙,提前干杯。

4

2 回答 2

0

您已经发布了 id,您可以在 PHP 页面中将其检索为$_POST['id']. 文本作为值发布,您可以在 PHP 页面中检索为$_POST['value']. 您当然可以更改默认名称。

于 2011-05-11T20:16:46.720 回答
0

它发送到服务器的内容取决于您提供给 $.ajax 选项参数的“post”mamber 的内容。
如果您传递一个查询字符串参数data : "name=foo&surname=bar"PHP 脚本将在 $_POST 变量中接收它,并且可以通过$_POST['name'] $_POST['surname']
但是如果您将一个对象传递给数据参数,它将被更改为一个查询字符串,即

data : {name : 'foo', surname : 'bar'},

JQuery.ajax 会像上面的例子一样把它变成一个查询字符串,然后它会被发送到服务器,PHP 脚本也会像上面提到的那样访问它。

PS 我强烈建议在向服务器发送数据时使用某种类型的编码,encodeURIComponent(variable)并相应地使用 urldecode 在 PHP 中对其进行解码。

于 2010-12-27T03:19:21.723 回答