2014-10-29 21 views
-1

我試圖產生通過JavaScript下列文字如何生成的JavaScript文本方含轉義字符

http:\\24.157.150.93:8080\......\json={"location": "123","screen": "456","ident": "789"} 

我已經試過如下

var url = "24.157.150.93:8080" ; 
var location = "123"; 
var screen = "456" ; 
var ident = "789"; 

var text = "http:\\"+url+"\......\json={"'location'": '"+location+"',"'screen'": '"+screen+"',"'ident'": '"+ident+"'}"; 

alert(text); 

但我正在逐漸

未捕獲SyntaxError:瀏覽器控制檯下的意外字符串

對不起,我不能發佈jsfiddle鏈接,因爲它不允許我保存此內容

有沒有人請幫助我如何生成上述字符串與指定的輸入值?

+0

您試圖在URL中使用反斜槓的具體原因是什麼?看起來你忘了逃避引號。 – 2014-10-29 16:20:30

+0

@TimSeguine文本將用於生成QR碼。 – Pawan 2014-10-29 16:21:44

+0

好的,我不確定那與我的問題有什麼關係。 – 2014-10-29 16:23:19

回答

1

你可以試試這個:

var text = "http:\\"+"\\"+url+"\\......\\json={"+'"location"'+": "+location+","+'"screen"'+": "+screen+","+'"ident"'+": "+ident+"}"; 
+0

完美,謝謝,除了價值缺少報價 – Pawan 2014-10-29 16:35:10

+1

謝謝,你可以嘗試這個報價缺失︰var text =「http:\\」+「\\」+ url + 「\\ ...... \\ json = {」+'「location」'+「:」+「\」「+ location +」\「」+「,」+'「screen」'+「:」 +「\」「+ screen +」\「」+「,」+'「ident」'+「:」+「\」「+ ident +」\「」+「}」; – 2014-10-29 16:42:50

+0

@DavidMaw僅供參考,如果您在註釋中用反引號('\'')圍繞代碼,它會更容易閱讀。 – 2014-10-29 16:47:44

0

它可能應該是:

var text = "http://"+url+"/....../json="+encodeURIComponent("{\"location\": \""+location+"\",\"screen\": \""+screen+"\",\"ident\": \""+ident+"\"}"); 

網址使用正斜槓,而不是反斜槓,並且符合的JSON需要使用雙引號,而不是單引號。如果正在通過URL發送JSON數據,您還應該對其進行URL編碼。我猜你或者忘了你的URL中的?字符來啓動一個查詢字符串,或者#來啓動一個錨點。

如果,但是,希望它給你正是您在您的文章要求文字就應該是這樣的:

var text = "http:\\\\"+url+"\\......\\json={\"location\": \""+location+"\",\"screen\": \"+screen+\",\"ident\": \""+ident+"\"}"; 

有沒有真正的技巧,它除了必須更換無論你想一個"字符與\"何地,你想用\\\

+0

非常感謝。 – Pawan 2014-10-29 16:39:47

+0

我不明白爲什麼這會得到downvoted – 2014-11-12 23:49:23

相關問題