2017-07-19 5 views
-1

私がGETリクエストを行い、成功した場合は、URLに基​​づいて、現在のページにページをロードする簡単なAJAX/JavaScript関数があります。JavaScriptオブジェクトに/を使用して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(); 
} 

をそして私は同じドキュメントの後に関数を呼び出しています

<li onclick="loadDoc(/myUrl/toTheLocalSever)">Add Dataset to View</li>

( - ので、私はプレイがここでの問題だとは思わないURLがルーティング逆のプレイスカラ座によって生成されたが、これは、それが最終的なソースでレンダリング正確にどのようにされている):これで。

しかし、私はこれを行うたびに、私は私のコンソールでこれを取得する:

SyntaxError: invalid regular expression flag d

私はそれが引用符の問題だと思ったので、私は元の関数loadDoc(myUrl)でこれをやった:

var wrappedUrl = "'"+myUrl+"'" 
xhttp.open("GET", wrappedUrl, true); 

しかし、それでも私には同じエラーが表示されます。私は間違って何をしていますか?ありがとう!

+1

属性の値は、有効なJavaScriptを評価する必要があります。文字列の前後に引用符を付けるのを忘れてしまった。これらの種類の問題は、属性を介してJavaScriptを決して*追加しないでください。 – zzzzBov

+0

scalaが生成された時点で引用符を追加する必要があります。スカラーについては考えていませんが、プロデューサーを引用する必要があります – baao

答えて

2

私はそれはそれは引用符

の問題だと思いました。

文字列リテラルを何も書き込まずに書き込もうとしています。

onclick="loadDoc(&quot;/myUrl/toTheLocalSever&quot;)"> 
var wrappedUrl = "'"+myUrl+"'" 

あなたは、エラーがスローされた後に実行されるコードから構文エラーを修正することはできません。

+0

それは間違いありませんでした。私はこれで何時間も過ごしました、ありがとう。おそらくそれはPlayですが、エラーが最初に取り上げられると思う 'function loadDoc(myUrl){'ではなく、ドキュメントの先頭にエラーが発生していると私には分かります。 – NateH06

+0

エラーは 'loadDoc(/ myUrl/toTheLocalSever)' 'で発生します正規表現リテラルの解析に失敗しましたloadDoc関数とは何の関係もありません構文エラーが最初にスローされるので決して呼び出されません – Quentin

+0

Ah、残念ながら、私はAJAXとJSを初めて使っていて、Java/Scalaにもっと慣れていますが、同じことですが、loadDoc(/ myUrl/toTheLocalSever)エラーは26行目にスローされます。 – NateH06

1

私はが規則的である

<li onclick="loadDoc(/myUrl/toTheLocalSever)">Add Dataset to View</li> 

は、ご使用のバージョンが存在しません 変数 /myUrl/toTheLocalSeverとしての通過

<li onclick="loadDoc('/myUrl/toTheLocalSever')">Add Dataset to View</li> 

する必要がありますエラーが関数呼び出しであると信じて式の構文

+2

'/ myUrl/toTheLocalSever'は変数ではありません。 '/'文字は正規表現リテラルの開始を示します(しかし、接尾辞は無効なのでエラーです) – Quentin

+0

私はこの回答を受け入れられたとマークすることもできます。特にあなたの編集後。 – NateH06

関連する問題