如何将带有/的URL提供给JavaScript对象?
我有一个简单的AJAX/JavaScript函数,它发出GET请求并根据URL将页面加载到当前页面(如果成功):如何将带有/的URL提供给JavaScript对象?,javascript,ajax,Javascript,Ajax,我有一个简单的AJAX/JavaScript函数,它发出GET请求并根据URL将页面加载到当前页面(如果成功): function loadDoc(myUrl) { var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function () { if (this.readyState == 4 &am
function loadDoc(myUrl) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("toolOptions").innerHTML =
this.responseText;
}
};
xhttp.open("GET", myUrl, true);
xhttp.send();
}
稍后我将在同一文档中调用此函数:
添加要查看的数据集
(URL是由Scala Play的反向路由生成的,但这正是它在最终源代码中呈现的方式-因此我认为这里不存在播放问题)
但是,每当我这样做时,我都会在控制台中看到:
SyntaxError:无效的正则表达式标志d
我认为这是引号的问题,所以我在原始函数loadDoc(myUrl)
中这样做了:
但这仍然给了我同样的错误。我做错了什么?谢谢
我认为这是一个引用的问题
是的
您正在尝试编写一个没有任何字符串的字符串文字
onclick="loadDoc("/myUrl/toTheLocalSever")">
您无法从抛出错误后运行的代码中修复语法错误。我相信错误在您的函数调用中
<li onclick="loadDoc(/myUrl/toTheLocalSever)">Add Dataset to View</li>
将数据集添加到视图
应该是
<li onclick="loadDoc('/myUrl/toTheLocalSever')">Add Dataset to View</li>
将数据集添加到视图
在您的版本中,它作为变量/myUrl/tothelocalever传递(不存在)是正则表达式语法该属性的值需要计算为有效的JavaScript。您忘记在字符串周围加引号了。这类问题就是为什么您永远不应该通过属性添加JavaScript。您需要在scala生成JavaScript时添加引号。不知道scala,但是您需要引用producer
/myUrl/tothelocalever
不是一个变量。/
字符表示正则表达式文本的开头(但后缀无效,因此会出错)。我希望我也可以将此答案标记为已接受,因为它同样有效。特别是在你编辑之后。这确实做到了。我在这上面花了这么多时间,谢谢。也许这是游戏,但它会告诉我错误发生在文档的头部,而不是在函数loadDoc(myUrl){
中,人们会认为错误会首先出现在那里。错误发生在loadDoc(/myUrl/tothelocalever)“
。它无法解析正则表达式文本。它与loadDoc函数无关。由于首先抛出语法错误,因此从未调用该函数。啊,值得注意。对不起,我不熟悉AJAX和JS,对Java/Scala更熟悉。不过,loadDoc(/myUrl/TotheLocalVer)还是一样的“
在文档的下方,大约在第73行左右,但错误在第26行抛出。
<li onclick="loadDoc(/myUrl/toTheLocalSever)">Add Dataset to View</li>
<li onclick="loadDoc('/myUrl/toTheLocalSever')">Add Dataset to View</li>