我正在尝试通过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 :(得分:1)
你可以试试这个:
var text = "http:\\"+"\\"+url+"\\......\\json={"+'"location"'+": "+location+","+'"screen"'+": "+screen+","+'"ident"'+": "+ident+"}";
答案 1 :(得分:0)
应该是:
var text = "http://"+url+"/....../json="+encodeURIComponent("{\"location\": \""+location+"\",\"screen\": \""+screen+"\",\"ident\": \""+ident+"\"}");
URL使用正斜杠而不是反斜杠,并且符合JSON要求使用双引号,而不是单引号。如果JSON数据是在URL中发送的,您还应该对其进行URL编码。我猜你要么忘记了你的URL中的?
字符来启动查询字符串,要么忘记了#
来启动一个锚。
但是,如果您希望它完全您在帖子中要求的文字,那么它将如下所示:
var text = "http:\\\\"+url+"\\......\\json={\"location\": \""+location+"\",\"screen\": \"+screen+\",\"ident\": \""+ident+"\"}";
没有真正的诀窍,除非你必须用"
替换\"
个\
字符以及\\
{{1}}