环境是ThinkPHP3.1。我现在用jquery去post一个.php文件,之前都是$.post('__APP__/Main/doWriteText',{"AddText":AddText},function(data){...}这样去post(模板为Main.html,然后这个类库是/lib/Action/MainAction.class.php),但后来我引用了一个类库,放在了lib/ORG下,这个类库我要去post其中一个函数时,我的url该怎么写?就是上边('__APP__/Main/doWriteText')这段。非常感谢!

解决方案 »

  1.   

    post 的接收者一定是controller,你可以建个controller,然后在这个controller里调用你处理的函数/方法
      

  2.   

    刚接触thinkphp不久,请大家指教,谢谢,
      

  3.   

    请说的详细点,现在我的lib/ORG下这个新引用的类库里全是$XXX = $_POST['XXX'];这类型是接受,本来我想用php直接互相调用$.this->XXX(XXX,XXX)    但是里边全是post接受,所以现在一直很糊涂
      

  4.   

    ThinkPHP 的 url 格式
    __APP__/module/action/name/value/...所以 Main/doWriteText 是调用 MainAction::doWriteText 方法
    至于这个方法中做什么和怎么做,就不受 ThinkPHP 的约束了虽然同一的处理了传入的参数,但 $_POST 应该还是保留的。当然这一点需要证实一下
    如果不存在,则需要恢复他,不然代码修改量太大不可取$_POST 是超全局变量,只要存在,就可以直接使用,而不需要额外声明
      

  5.   

    那您的意思就是我post的时候把所有需要的参数全部post出去,然后我在MainAction::doWriteText 函数中在调用我需要函数,第二次调用哪怕我什么参数不传,只要我在函数执行时候$_POST['XXX']就可以取到刚才post出去的值?这样的话属于正常的思路吗,会不会有些繁琐?
      

  6.   

    现在就是不知道post后的url怎么写,应为我的模版用现在是在tpl/Main/main.html
    方法在lib/Action/MainAction.class.php中,url('__APP__/Main/函数名')
    但是lib/ORG下的url不知道怎么写。语言表达的不是很清楚.
      

  7.   

    lib/ORG 下的代码是通过 __APP__/Main/函数名 调用的
    只需返回数据,不存在 url 问题,因为你在用 ajax