jQuery Ajax编码数据
我有此代码(如下)。
$.ajax({
type: "POST",
url: "../WebServices/Feedback.svc/sendfeedback",
dataType: 'json',
async: false,
data: '{"stars": "' + stars + '", "rating" : "' + rating + '", "note" : "' + encodeURIComponent(note) + '", "code" : "' + code + '", "permission" : "' + permission + '"}',
contentType: "application/json; charset=utf-8"
});
我正在使用它将数据传递到Web服务,但是问题是其中是否有任何字符(,/?:@&= +
$#)。我放入了一个很好的encodeURIComponent,然后在Web服务中再次将它们放回去。
我要问的是,是否有更好的方法可以做到这一点?我每次都要对字符串进行编码,然后才能通过,这似乎有点疯狂。
谢谢
回答:
该Web服务属于您还是您使用其他人的Web服务?Web服务不接受的原因是什么(,/?:@&= + $#)?
jQuery 默认contentType为
,这意味着jQuery将对内容进行编码。但是,由于您指定了不同的contentType,因此不会对数据进行编码,因此您必须自己进行编码。
另外,您可以尝试删除 选项,并正常传递您的内容(不带 )。
$.ajax({
type: "POST",
url: "../WebServices/Feedback.svc/sendfeedback",
dataType: 'json',
async: false,
data: '{"stars": "' + stars + '", "rating" : "' + rating + '", "note" : "' + note + '", "code" : "' + code + '", "permission" : "' + permission + '"}',
});
以上是 jQuery Ajax编码数据 的全部内容, 来源链接: utcz.com/qa/430206.html