gpt4 book ai didi

javascript - html - 将 json 附加到链接的正确方法

转载 作者:行者123 更新时间:2023-11-28 11:57:05 25 4
gpt4 key购买 nike

嗨,我有一个使用 Facebook 登录的代码:

<iframe allowtransparency="true" frameborder="no" height="600" scrolling="auto" src="http://www.facebook.com/plugins/registration.php?
client_id=183620578322567&
redirect_uri=http://example.com/store_user_data.php?&
fields=[
{"name":"name"},
{"name":"email"},
{"name":"password"},
{"name":"gender"},
{"name":"birthday"},
{"name":"captcha"}
]"
scrolling="auto"
frameborder="no"
style="border: none;"
width="500"
height="600">
</iframe>

正如您所看到的,src 属性中的 json 部分(字段)有问题,可能缺少引号,但我无法附加它,那么正确的方法是什么?谢谢

最佳答案

有些会或不会涉及您的问题:

  • 不要使用 escape(),它自 ECMAScript v3 起已被弃用。

  • 使用 encodeURI() 代替。您还可以反过来使用 decodeURI()

  • 不要使用 encodeURIComponent() 转义所有 url 字符串,因为它会破坏您的 URL,使用它就在您想要发送 url 作为参数时。

  • 不要使用 ' 作为 json 中的属性,而是使用 ",因为提到的函数不会对 ' 字符进行编码。

例如,您可以将 json 添加到 url,然后调用 encodeURI:

var url = 'http://myhost.com/?{"key", "value"}';
var myEncodedurl = encodeURI(url);
//result-->http://myhost.com/?%7B%22key%22,%20%22value%22%7D

但是

encodeURIComponent(url);
//result-->http%3A%2F%2Fmyhost.com%2F%3F%7B%22key%22%2C%20%22value%22%7D

如果您想将所有 url 作为参数发送,那么使用 encodeURIComponent 会对您有所帮助,如下所示:

var myEncodedurl = 'http://myotherhost.com/?myurl=' +
encodeURIComponent('http://myhost.com/?{"key", "value"}');
//result-->http://myotherhost.com/?myurl=http%3A%2F%2Fmyhost.com%2F%3F%7B%22key%22%2C%20%22value%22%7D

顺便说一句,对于您的示例,您最好尝试:

var url = 'http://www.facebook.com/plugins/registration.php?client_id=183620578322567&redirect_uri=' +
encodeURIComponent('http://example.com/store_user_data.php?&'
+ 'fields=['
+ '{"name":"name"},'
+ '{"name":"email"},'
+ '{"name":"password"},'
+ '{"name":"gender"},'
+ '{"name":"birthday"},'
+ '{"name":"captcha"}'
+ ']&"'
+ 'scrolling="auto"'//extract it from encodeURIComponent if they belong to your original url
+ 'frameborder="no"'//extract it from encodeURIComponent if they belong to your original url
+ 'style="border: none;"'//extract it from encodeURIComponent if they belong to your original url
+ 'width="500"'//extract it from encodeURIComponent if they belong to your original url
+ 'height="600"'/*extract it from encodeURIComponent if they belong to your original url*/);

关于javascript - html - 将 json 附加到链接的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20791959/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com