0

我正在从带有土耳其字符的 jQuery 向 Web 服务发送请求。在我从 jQuery 发送它之前,我encodeURI是土耳其字符串,并尝试在 C# 的 Web 服务中对其进行解码。但这不起作用。

这是jQuery代码

  $.ajax({url: 'http://xxxxxx.com/medbul/HoverCard_WebService.aspx?q=' + encodeURI(span_text),

这是Web服务中的代码

  HttpUtility.UrlDecode(Request.QueryString["q"].ToString())

但这不起作用。有什么办法可以做到这一点?

我的意思是如果我传递英文字符,它会做它应该做的事情,但是当我传递土耳其字符时,它不会显示结果。我没有显示所有代码,因为没有必要。我认为我在 Javascript 中的编码和 C# 中的解码存在问题。或者我应该使用其他逻辑吗?

4

1 回答 1

3

当您赢得从 URL 发送 UTF-8 作为您的语言时,正确的是使用encodeURIComponent

因此,将您的代码更改为

$.ajax({url: 'http://xxxxxx.com/medbul/HoverCard_WebService.aspx?q=' + encodeURIComponent(span_text),

它会起作用。

比较 escape()、encodeURI() 和 encodeURIComponent()

于 2013-02-27T16:21:57.870 回答