我环顾四周,我试图找到一个很好的解决方案这一点,我还没有找到一个。 我在.NET中ASMX Web服务,我试图调用需要的参数。
我使用在客户端的jQuery调用服务和我jQuery代码看起来是这样的:
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
url: "/Reviews/HotelReview.asmx/SubmitReview",
data: "{'name': '" + name + "', " +
"'info': '" info + "'}",
processData: true,
beforeSend: function() { startSubmit(); },
complete: function() { submitComplete(); },
error: function(xhr) { submitError(xhr); },
success: function(msg) { submitSuccess(msg.d); }
});
它工作得很好,除非名称或信息包含'字,一个单引号。 很简单,因为我的JSON定义字段的值的末尾,是一个单引号。 当这些字段中包含一个单引号,我得到的是一个“内部服务器错误”,但使用进一步的检查提琴手给我的结果(我不会打扰到它们张贴),表明单引号问题。
我已经把东西到位暂时取消对客户端的单引号,并把它们放回在服务器端,但是这是远远优雅。 是否有逃避这些单引号,这样我的代码可以工作更优雅的方式?