这是javascript:
var data = $('form#registration-form').serialize();
$.post(
'<?php echo $this->url('/register', 'do_register')?>',
function(data) {
alert(data);
},
'json'
);
这是do_register()方法的结尾:
if( $_REQUEST['format']=='JSON' ){
$jsonHelper=Loader::helper('json');
echo $jsonHelper->encode($registerData);
die;
}
$registerData
变量包含我需要的所有数据。我希望函数在ajax调用后返回它。但是,当我指定dataType:'json'时,不会返回任何内容。有什么建议吗?
答案 0 :(得分:1)
我认为您的问题在于网址
$.post(
'<?php echo $this->url("/register", "do_register"); ?>?format=JSON',
function(data) {
alert(data);
},
'json'
);
你也可以在php部分使用以下行来获取json值
header('Content-Type: application/json');
答案 1 :(得分:0)
我想问题就在这里:
'<?php echo $this->url('/register', 'do_register')?>',
使用引号。
使用双引号和单引号:
"<?php echo $this->url('/register', 'do_register')?>",
。
答案 2 :(得分:0)
不可能在没有任何描述的情况下收到正确的建议。
你最好粘贴更多的php&amp; javascript代码,有更多的上下文,事情很简单。
另一个建议是,混合编码很糟糕。用PHP模板如Smarty分离javascript和php。
var data = $('form#registration-form').serialize();
$.post(
'<?php echo $this->url('/register', 'do_register')?>',
function(data) {
alert(data);
},
'json'
);
上面代码的源文件是php文件吗?
使用firebug进行调试以捕获天气发送的ajax请求
答案 3 :(得分:-1)
为什么要使用JSON帮助器?
json_decode(string $json);
json_encode(mixed $value); //normally array...
它内置于php。