我现在被困在这个安静的时候。 所有我想做的是发送一个json文本到PHP,处理它并发送响应bacl ..
这是我发送的数据作为我的textarea值..
**asdasd #$**&**%^*( AAAA SADQWEASD /// '' \\\ '' l; "" **
下面是json发送到php(从控制台获取):
data={"Text":"asdasd #$&%^*( AAAA SADQWEASD /// '' \\\\\\ '' l; \"\" "}
我正在使用jquery ajax函数,如下所示:
function ajaxfunc(data, path){
$.ajax({
type: "POST",
url: path,
data: 'data='+data,
success: function(response){
}
});
}
在PHP中,我正在这样做。
$res = json_decode(stripslashes(escapeJsonString($_POST['feed'])), true);
function escapeJsonString($value) {
# list from www.json.org: (\b backspace, \f formfeed)
$search = array("\n", "\r", "\u", "\t", "\f", "\b", "/", '"');
$replace = array("\\n", "\\r", "\\u", "\\t", "\\f", "\\b", "\/", "\"");
$result = str_replace($search, $replace, $value);
$escapers = array("\\", "/", "\"", "\n", "\r", "\t", "\x08", "\x0c");
$replacements = array("\\\\", "\\/", "\\\"", "\\n", "\\r", "\\t", "\\f", "\\b");
$result = str_replace($escapers, $replacements, $value);
return $result;
}
echo $res["Text"];
问题是:& ..没有在PHP解析,因此响应为空.. 我也想确定,检测到新行字符。基本上我期待使用json的“WYSIWYG”.. json_encode和json_decode
答案 0 :(得分:1)
基于关于只想将表单输入发送到服务器的注释,请按以下方式使用serialize():
$.ajax({
type: "POST",
url: path,
data: $('form').serialize(),
success: function(response){
}
);
如果您只想通过$ _POST数组访问服务器上的表单输入,那么在客户端上转换为JSON是一种浪费。 serialize()应该适合你。
但是如果你真的想要使用JSON,那么请使用Douglas Crockford {J}的JSON-js lib here。请注意,此主题还有很多其他信息:Serializing to JSON in jQuery。示例如下:
$.ajax({
type: "POST",
url: path,
data: 'data='+( JSON.stringify(data) ),
success: function(response){
}
);
答案 1 :(得分:0)
如果您想以JSON格式发送数据,可以试试这个
data = {"Text":"asdasd #$&%^*( AAAA SADQWEASD /// '' \\\\\\ '' l; \"\" "};
data = JSON.stringify(data);
然后使用您的jquery.ajax或jquery.post
发送