当前位置:Gxlcms >
PHP教程 >
【thinkphp】引用js文件函数报错,直接把函数写在html中使用则正常
【thinkphp】引用js文件函数报错,直接把函数写在html中使用则正常
时间:2021-07-01 10:21:17
帮助过:90人阅读
我在public/admin/js下新建了一个custom.js文件:[code=javascriptfunction validateUserName(){
alert('Yes');
$.post(
"<{:U('Index/Index/Users/validateUserName')}>",
{UserName:$("#UserName").val()},
function(returnedData,status){
var result=returnedData;
if(result!=null){
$("#info").html("
"+result+"");
}else{
$("#info").html("");
}
}
);
}][/code]
里面只有一个函数,在html里引用:
然后使用
每次调用,对话框会出来,关闭对话框就报错:
非法操作:
错误位置
FILE: C:\wamp\www\dianzi\ThinkPHP\Common\functions.php LINE: 112
112行的函数是这句:
function _404($msg='',$url='') { APP_DEBUG && throw_exception($msg);
对话框是会弹出来的,不知道什么原因,然后我把这个js文件引用删掉,把这个函数直接写在html中:
能正常使用,请问这要怎么解决???
回复讨论(解决方案)
你在引入的时候没有引入JQUERY库文件导致的这个问题。
请问是哪个库文件呢,jquery.js这个已经有了,而弹窗出来了说明已经调用了这个函数,难道是$.post还要其他文件吗?
你在引入的时候没有引入JQUERY库文件导致的这个问题。
请问是哪个库文件呢,jquery.js这个已经有了,而弹窗出来了说明已经调用了这个函数,难道是$.post还要其他文件吗?
js放在文件里面,是不是后台的这个方法没找到:U('Index/Index/Users/validateUserName');然后后台直接报错了
js里的这个"<{:U('Index/Index/Users/validateUserName')}>"有问题哦,你这是外部引入的,tp貌似不会对这个进行模板替换
U方法这个直接放在这里是不行的。我记得我学TP视频的时候,视频里的老师讲过这个问题。好像要用一个变量来保存这个url,然后再传过去。具体不记得了。
url要写在模版里面才能正确的解析成路由地址