Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将带有/的URL提供给JavaScript对象?_Javascript_Ajax - Fatal编程技术网

如何将带有/的URL提供给JavaScript对象?

如何将带有/的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

我有一个简单的AJAX/JavaScript函数,它发出GET请求并根据URL将页面加载到当前页面(如果成功):

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>