如何解决未能使用AJAX返回JSON对象
| (请注意,我正在使用Kohana 3.1.0,因此该框架会自动路由以下所有网址) 我正在使用以下(jQuery)从index.php / functions / submit请求一个JSON对象 <script type=\"text/javascript\">
$(document).ready(function(){
$(\"#submit_enemy\").submit(function(e){
e.preventDefault();
var query = $(this).serialize();
$.getJSON(\'http://arflux-rpg.com/game/index.php/functions/submit\',query,function(data){
if (data.success == true)
{
$(\'#messages\').HTML(\"<div style=\'color: #00CE06;\'>Success. Enemy \\\'\" + data.name + \"\\\' created.</div>\");
}
else
{
$(\'#messages\').HTML(\"<div style=\'color: #f00;\'>Error: \" + data.err + \"</div>\");
}
});
$(\'#messages\').show(500).fadeOut(1000);
$(\'#form_content\').show(500);
});
});
</script>
路由URL时,将导致以下PHP代码:
http://pastie.org/2104063
有什么我想念的吗?
解决方法
看起来您的后端找不到合适的视图来呈现:
throw new Kohana_View_Exception(\'The requested view :file could not be found\',array( //etc
, 您已扩展了模板控制器(Controller_Template
),该模板控制器引发异常,因为它找不到名为\'template \'的视图文件(默认)。
(我在浏览器中访问了json URL来查看此内容)
切换到仅扩展Controller
应该可以解决。
, 在action_submit函数中,您必须设置$this->auto_render = false;
您可以使用响应对象来代替回显结果的json对象:$this->response->body(json_encode($return));
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。