通常情况下url只能传递字符串参数,无法传递对象。现在有了解决办法:

var objDemo = {
      name: "liziyu",
      age: 12,
      content: "abc"
    };
    var jsonObj = JSON.stringify(objDemo);
    jsonObj = encodeURI(jsonObj);
    let url = "http://localhost:8080/demo?id=" + jsonObj;
    //console.log(url);
    jsonObj = decodeURI(jsonObj);
    jsonObj = JSON.parse(jsonObj);
    //console.log(jsonObj);
}

说明:
JSON.stringify(objDemo)将对象转换为 JSON 字符串。
encodeURI()函数可把字符串作为 URI 进行编码。
decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进行解码。
JSON.parse()方法用于将一个 JSON 字符串转换为对象。

注意:
1、被传递的对象内容不能太大(比如正文内容)否则会报错如下:

Request-URI Too Long
The requested URL's length exceeds the capacity limit for this server.

2、通常情况下如果是两个独立页面间传递的话,都是传到控制器,然后控制器通过模板变量赋值给模板,做页面渲染。

本文转自:https://blog.csdn.net/baidu_39812199/article/details/104492133

标签: url传递对象

仅有一条评论

  1. 是否是 是否是

    发发发大V发大V

添加新评论