当前位置: 首页 > 面试题库 >

jQuery Ajax编码数据

子车心思
2023-03-14
问题内容

我有此html" target="_blank">代码(如下)。

$.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 $ .ajax 默认contentType为 application / x-www-form-urlencoded
,这意味着jQuery将对内容进行编码。但是,由于您指定了不同的contentType,因此不会对数据进行编码,因此您必须自己进行编码。

另外,您可以尝试删除 contentType 选项,并正常传递您的内容(不带 encodeURICompnent )。

$.ajax
({
    type: "POST",
    url: "../WebServices/Feedback.svc/sendfeedback",
    dataType: 'json',
    async: false,
    data: '{"stars": "' + stars + '", "rating" : "' + rating + '", "note" : "' + note + '", "code" : "' + code + '", "permission" : "' + permission + '"}',
});


 类似资料:
  • 对于这个问题:http://codingbat.com/prob/p121193 我写了这段代码: 这些是问题(它们不是代码,但它拒绝接受我的问题): 总之,出于某种原因,我的代码不能处理多个数字中的多个数字,我不知道为什么。我断断续续地研究这个问题已经有一段时间了,虽然我拒绝直接查找答案,但我确实需要一些帮助。我在高中AP Comp。Sci。

  • 问题 你需要使用Base64格式解码或编码二进制数据。 解决方案 base64 模块中有两个函数 b64encode() and b64decode() 可以帮你解决这个问题。例如; >>> # Some byte data >>> s = b'hello' >>> import base64 >>> # Encode as Base64 >>> a = base64.b64encode(s)

  • 目前,许多浏览器不随着 Content-Type 头一起发送字符编码限定符,而是根据读取 HTTP 请求确定字符编码。如果客户端请求没有指定请求默认的字符编码,容器用来创建请求读取器和解析 POST 数据的编码必须是“ISO-8859-1”。然而,为了向开发人员说明客户端没有指定请求默认的字符编码,在这种情况下,客户端发送字符编码失败,容器从getCharacterEncoding 方法返回 nu

  • 我发出一个请求,该请求以json utf-8(带元组的dict)响应 如果没有,我将得到一个UnicodeEncodeError,所以似乎有必要对字符串进行编码 我举一个例子: json中的字符串:'quäloan' 编码后的字符串:'qu\xC3\xA4loan' 在数据库中插入:'qu借出' 我的猜测是,数据库处理编码的utf-8字符串仍然是拉丁语-1,但是当我插入一些未编码的样本utf-8字

  • 我使用MediaCodec对相机数据进行编码,当我在一个名为Vivo X5 Pro(android 5.0,API 21)的设备上使用时,MediaCodec编码的数据大小在90000以上,在其他设备上通常是15000左右,但是我改变了媒体格式的参数,也不起作用。在Vivo X5 Pro(android 5.0,API 21)上用MediaCodec.getOutputFormat()方法得到的格

  • 基础知识 一般说来,蜂鸣器演奏音乐只能是单音频率,它不包含相应幅度的谐波频率,也就是说不能象电子琴那样能奏出多种音色的声音。因此蜂鸣器奏乐只需弄清楚两个概念即可,也就是“音调”和“节拍”。音调表示一个音符唱多高的频率,节拍表示一个音符唱多长的时间。十二平均律就规定了每一个音符的标准频率。 十二平均律,是一种音乐定律方法,将一个纯八度平均分成十二等份,每等分称为半音,是最主要的调音法。十二平均律中各