读书人

一个从来没遇到过的PHP的POST数据接收

发布时间: 2012-05-22 18:18:54 作者: rapoo

一个从来没遇到过的PHP的POST数据接收错误问题
我在客户端用的如下jquery代码发送的ajax的POST请求

JScript code
$('#compile').click(function() {        var form = $('#compile_form');        var form_data = {            id : $("input[@type=hidden][name=exercise_id]").val(),            code : editor.getValue()        };        $.ajax({            url : SITE_URL+"student/doprogram/compile_c",            type : 'post',            data : form_data,            success : function(msg, status) {                compile_result = $('#compile_result');                $(compile_result).val(msg);            }        });        return false;    });

然后服务端直接print_r($_POST);按道理说是客户端发送啥,服务端就打印应该没错的,但是下面是结果:
我在code这个表单写入的数据是
scanf("%d", &aa);
然后下面是我用firebug调试ajax的结果
JScript code
code    scanf("%d", &aa);id    27

但是服务器的输出却是
JScript code
Array(    [id] => 27    [code] => scanf("%d", &aa;);)

最奇怪的是,并不是所有的数据都有这种错误,比如,如果我输入的scanf("%d", &a);这样就是完全正确的,另外&num也是有问题。。如果有大侠遇到过这个问题,请讨论讨论啊。哦,对了,如果是用的表单提交方式,就没有这个问题,无论啥数据都是正确的。


[解决办法]
print_r($_POST); 这样打印出来,
Array
(
[id] => 27
[code] => scanf("%d", &aa;);
)

js当字符串处理了,

楼主想返回数组吗?
那就
echo "{\"id\":\"123\"}";
这样类似的。

读书人网 >Ajax

热点推荐