繁体   English   中英

如何从Jeditable脚本中提取PHP中的JSON

[英]How to pick up JSON in PHP from Jeditable Script

我想创建一个可编辑的文本区域,将输入的值发布到数据库中,然后将新值返回到替换文本区域的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,我怎么知道这叫什么?

请帮助,提前加油。

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

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

像上面的示例一样,JQuery.ajax会将其更改为查询字符串,然后将其发送到服务器,并且PHP脚本也将如上所述访问它。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM