jquery - 让 JQuery ajax 发布 JSON 数据的最佳方式是什么?
问题描述
我有一个使用 Python Flask 构建的 HTTP 服务器,它提供一个 API 作为后端,以及一个使用 JQuery ajax 调用 API 的网页。当我发出 POST 请求时,我在服务器站点上遇到了一些解析问题。我的 JQuery POST 如下所示。
$.ajax({
method: "POST",
url: "<API endpoint, on same server>",
data: <a javascript object>, //yes, this is the cause of the problem
dataType: "json",
contentType: "application/json"
}).done(func_success).fail(func_error);
请注意,该data
字段被赋予了一个 javascript 对象。起初我想如果我指定contentType
为application/json
,该ajax
函数会将其data
转换为 JSON 格式。但是,服务器上的简单打印显示情况并非如此。该contentType
字段只负责设置Content-Type
标题。默认情况下,JQuery 总是将普通的 javacript 对象转换为url-encoded
格式,而不管dataType
给定的参数如何。
作为一种解决方法,我曾经JSON.stringify(data)
将 javascript 对象序列化为 JSON 字符串。但是,我想知道是否有更好的做法来使用ajax
函数。如果您要使用 JQuery 以 JSON 格式发布 javascript,您会怎么做?
解决方案
推荐阅读
- c# - 更新数据库而不是在 MVC 控制器中添加一行
- vue.js - 使用 Vue 和 Apache 重新加载或直接 URL 时出现错误 404
- python - 可视化冻结的 graph_def.pb
- c++ - 如何将文本文件行读入向量?
- javascript - 如何使用 selenium webdriver 单击自定义 Web 组件
- entity-framework - 属性 X 属于 Y 类型,当前数据库提供程序不支持
- sql - Hive join table with itself many times
- .net-core - How to access the database context on the home controller
- sql-server - 如何在环回 where 子句中使用正则表达式 - 连接到 SQL Server 数据源?
- vue.js - 如何从单个子组件生成表中的动态组件?