我在代码中遇到问题。它在IE8中给出了一个javascript错误,
"SCRIPT1028: Expected identifier, string or number"
我的代码,
<cfoutput>
<cfif iPro eq "M">
<cfset iIdLock = #DecryptX(iId)#>`
<script>
window.onbeforeunload = function(){
var hook = true;
if(hook){
var r="#iIdLock#";
$.ajax({
type:'POST',
async:false,
url:"setlock.cfm",
data:"s="+r,
success: function(){},
error: function(){},
});
}
}
</script>
</cfif>
</cfoutput>
可能是什么问题?
答案 0 :(得分:5)
在发布之前快速搜索错误总是一个好主意:)一个非常快速搜索出现了这个SO线程:SCRIPT1028: Expected identifier, string or number。建议的原因之一是额外的尾随逗号。看起来你在“错误”函数后有一个额外的逗号:
$.ajax({
...
error: function(){},
});
这似乎是一个可能原因,至少会导致某些语法错误。
答案 1 :(得分:1)
实际上我在Ajax中使用了双引号,这就是导致我的问题的原因。我只是用单引号替换双引号,现在一切正常。
var r="#iIdLock#"; -> var r='#iIdLock#
url:"setlock.cfm", -> url:'setlock.cfm',
data:"s="+r, -> data:'s='+r,