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

用户名

嗨,我有一个使用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部分(字段)有问题,可能缺少引号,但我无法附加它,那么正确的方法是什么?谢谢

Mehran Hatami |

有些与您的问题有关,而与您的问题无关:

  • 不要使用 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

然后encodeURIComponent,如果您希望将所有内容url作为参数发送,则使用会对您有所帮助,例如:

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*/);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将html附加到Jquery / Javascript的正确方法

来自分类Dev

将 JSON 数据附加到 HTML 元素

来自分类Dev

将 HTML 字符串附加到 Iframe 导致语法错误,正确的方法是什么?

来自分类Dev

将 Javascript 变量附加到两个 HTML 链接

来自分类Dev

将链接附加到整个 HTML5 画布

来自分类Dev

如何将.Jar文件正确附加到HTML

来自分类Dev

如何将.Jar文件正确附加到HTML

来自分类Dev

将json数据附加到HTML列表框

来自分类Dev

将HTML表附加到Codeigniter中的Json响应

来自分类Dev

如何显示或将js的json数据附加到html

来自分类Dev

使用相关信息将JSON附加到HTML容器

来自分类Dev

如何将另一个目录链接附加到HTML中的<a>

来自分类Dev

如何正确地将几个svg元素附加到html文档?

来自分类Dev

将动态javascript变量附加到HTML标记。InnerHTML和insertAdjacentHTML均不正确

来自分类Dev

将NodeList附加到HTML元素

来自分类Dev

将html标记附加到表头Jquery

来自分类Dev

将Sass / SCSS附加到HTML文档

来自分类Dev

使用jQuery将HTML附加到iframe

来自分类Dev

将文本从HTML附加到XML

来自分类Dev

将HTML附加到论坛中的DIV

来自分类Dev

将html标记附加到表头Jquery

来自分类Dev

将多个元素附加到html

来自分类Dev

通过 JS 将脚本附加到 HTML

来自分类Dev

purescript 卤素:将 IProp 附加到 HTML

来自分类Dev

更快的方法是:将html附加到数组或使用混合的html / php

来自分类Dev

Json循环并将结果附加到html

来自分类Dev

Json循环并将结果附加到html

来自分类Dev

如何使用Javascript或Jquery将一系列JSON数据附加到HTML?

来自分类Dev

将JSON返回数据附加到html中不起作用