当前位置:Gxlcms > PHP教程 > javascript-js传值tp框架

javascript-js传值tp框架

时间:2021-07-01 10:21:17 帮助过:3人阅读

在公共的js页面 传值到方法下面,用的是tp的框架

$.ajax({

    url:"{:U('User/contrast')}",
    data:{
        enOldPassword:enOldPassword,
        userPassword_x:userPassword_x,
    },
    type:'post',
    dataType: "json",

这个url一直报错,请教各位大神,该怎么写?
报错信息是

回复内容:

在公共的js页面 传值到方法下面,用的是tp的框架

$.ajax({

    url:"{:U('User/contrast')}",
    data:{
        enOldPassword:enOldPassword,
        userPassword_x:userPassword_x,
    },
    type:'post',
    dataType: "json",

这个url一直报错,请教各位大神,该怎么写?
报错信息是

你在js里写php?

如果这段JS放在模板文件中,或者被模板文件引用,就可以生效;如果单独放在JS文件中的话,U方法是无效的。
解决方法:
1:讲这段JS放到模板文件中;
2:直接填写url

单纯代码如果放在模板页面,是没有问题的,但是如果你的这个页面是放在单独的js文件中,那么就会出现上面的错误,因为它不会被TP渲染

tp的模板解析标签和js的冲突了{} 一般把tp的TMPL_L_DELIM和TMPL_R_DELIM分别设置成'<{'和'}>'

已经解决 在html页面中加入了地址属性,然后在js中用attr获取这个属性就行

你这代码是放到独立的js文件里面的吧?如果是,可以引入js前定义这个url

var uploadurl={:U('User/contrast')}';

然后AJAX的url 用这个全局变量就行了。

ps:楼主要弄清楚,TP的标签,可以在模板中使用,最后是转为php代码的。但js文件不是模板一部分

直接写url吧 不要用U

人气教程排行