【问题标题】:asp.net webservice get terminated when have & at parameter?当有 & in 参数时,asp.net web 服务会被终止?
【发布时间】:2012-10-29 08:44:35
【问题描述】:

我有一个 iPhone 应用程序,通过它我用 json 调用 asp.net webservice。它适用于所有数据。但是,当我尝试在任何数据中 & 时,它会引发服务器错误,如下所示

 System.ArgumentException: Unterminated string passed in. (55): {"UserId":"somebody@somebody.com","FirstName":"somebody
   at ProjectName.ProjectWebService.AuthenticationService.UserRegistration(String jsonText) in C:\Users\mkariya\documents\visual studio 2010\Projects\ProjectName\ProjectNames\MeaNexusWebService\AuthenticationService.asmx.cs:line 555

我传递给这个网络服务的数据如下

"UserId":"somebody@somebody.com","FirstName":"somebody&fname","City":"Ahmedab​​ad","LastName":"somebodylname","State":"Gujarat","Country" :"印度","密码":"admin1!"}

其中 FirstName 的值为 somebody&fname,因此问题出现在那个地方。

【问题讨论】:

    标签: iphone asp.net json web-services


    【解决方案1】:

    您需要转义 & 符号。使用以下代替“&”字符:

    \u0026
    

    【讨论】:

    • Wippy,谢谢它对我有用这是不正确的编码方式。您是否知道其他可能造成此类问题的角色...!?!
    • 很高兴。引号、双引号和反斜杠仅举几例。如果您在 Google 上搜索“javascript 转义字符”,我相信您将能够找到更完整的列表
    【解决方案2】:

    在传递变量和 服务器端的 HttpUtility.UrlDecode()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多