ThinkPHP使用Ajax提交表单URL如何设置

目录结构:
------------Application
---------Admin
-----------Controller
-----------IndexController.class.php
------------View
-----------index.html
------------Public
---------js

:后台登陆表单, 引入JS文件在 Public/js , 后台模板在 View/index.html .控制器为 Controller/IndexController.class.php. 页面加载后,使用 Jquery Ajax提交表单
$.post('{:U('Admin/Index/login')}',
{'username':username.val()},
function(data){alert(data)},
'json');

//{:U('Admin/Index/login')} 提交有问题,没有接收到数据,更换为绝对路径后:http://localhost/index.php/Admin/Index/login 后可以返回数据,求如何使用 U方法生成的路径,

__CONTROLLER__使用这个?????

默认的操作需要获取数据列表,关键代码:
public function index() {
$Form = M("Form");
// 按照id排序显示前5条记录
$list = $Form->order('id desc')->limit(5)->select();
$this->list = $list;
$this->display();
}
检测标题的Ajax响应操作是checkTitle操作方法:
public function checkTitle($title='') {
if (!empty($title)) {
$Form = M("Form");
if ($Form->getByTitle($title)) {
$this->error('标题已经存在');
} else {
$this->success('标题可以使用!');
}
} else {
$this->error('标题必须');
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-14
<div id="geturl" title="{:U('Admin/Index/login')"></div>

<script>
var geturl = $("#geturl").attr("title");
$.post(geturl,
{'username':username.val()},
function(data){alert(data)},
'json');

</script>追问

只能是这样子么? 试过了你这个也不行呀。 报错Undefined , __CONTROLLER__ 这个的有办法使用到么

追答

你用firebug(火狐)的firebug调试一下就知道是哪错了。
思路就是你先把php动态输出的内容放到一个 隐藏的div然后用js拿出来

本回答被提问者和网友采纳