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

回到顶部