有一个项目 需要用到友盟分享,点击分享内容,需要跳转到指定的url,不带参数的url非常好跳,也没什么问题,但是 带了参数之后:
比如http://121.43.121.8:8080/tj/photo/findPhotoInfo?&param={"photoId":"15080604463114388507912341971172"}
如果按照正常的url来设置:
NSString * str_share_url=@"http://121.43.121.8:8080/tj/photo/findPhotoInfo?&param={"photoId":""} ";
[UMSocialData defaultData].extConfig.qzoneData.url =str_share_url;
这样肯定会出错的。 仔细看了一下,友盟会将 "?"号前面的当作url,“?”号后面的 不会被读取,说到这 ,都知道问题的所在了吧。这是因为传过去的字符串,带参数,是需要进行编码的( 防止有中文,所以要进行编码)。 正确的做法:
NSString * str_share_url=@"http://121.43.121.8:8080/tj/photo/findPhotoInfo?&param={"photoId":""} ";
//对url字符串中的特殊字符及中文进行编码
NSString *new_url=[strURl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]
//设置qq空间的链接
[UMSocialData defaultData].extConfig.qzoneData.url =new_url; 希望可以帮助需要的人。这个地方 浪费了我将近3个小时。
05-11 17:39