jquery - 将 HTML 数据从表单发送到 JSON 文件 (Ajax/Jquery)
问题描述
我以前从未这样做过,而且我对 Ajax 的经验也不是很丰富。我想做什么,我相信很简单。
我想从此表格中获取数据:
<form action="/comics.json" method="post" class="admin__add">
<label for="admin__id">ID</label>
<input type="text" class="admin__id">
<label for="admin__price">Price</label>
<input type="number" class="admin__price">
<label for="admin__url">URL</label>
<input type="text" class="admin__url">
<label for="admin__data-item-description">Data-item-descriptin</label>
<input type="text" class="admin__data-item-description">
<label for="admin__data-item-name">data-item-name</label>
<input type="text" class="admin__data-item-name">
<label for="admin__year">year</label>
<input type="number" class="admin__year">
<label for="admin__issue">issue</label>
<input type="text" class="admin__issue">
<label for="admin__series">series</label>
<input type="text" class="admin__series">
<label for="admin__type">type</label>
<input type="text" class="admin__type">
<label for="admin__label">label</label>
<input type="text" class="admin__label">
<label for="admin__sale-price">sale-price</label>
<input type="number" class="admin__sale-price">
<label for="admin__publisher">publisher</label>
<input type="text" class="admin__publisher">
<label for="admin__extra">extra</label>
<input type="text" class="admin__extra">
<label for="admin__run">run?</label>
<input type="text" class="admin__run">
<label for="admin__weight">weight</label>
<input type="number" class="admin__weight">
<label for="admin__stock">stock</label>
<input type="number" class="admin__stock">
<label for="admin__allowOutOfStockPurchases">allowOutOfStockPurchases</label>
<input type="text" class="admin__allowOutOfStockPurchases">
<button class="admin__submit">SUBMIT</button>
</form>
并将其添加到我的 Json 文件中,该文件的结构如下:
{
"id" : "crossedonehundred9",
"price" : "2.99",
"url" : "/",
"data-item-description" : "Crossed One Hundred run (32 books)",
"data-item-image" : "/thumbnails/Fantasy Road new and preowned comic book sales - pressing and cleaning service at fantasy road - Crossed One Hundred 9.jpg",
"data-item-name" : "Crossed One Hundred full run",
"year" : "2012",
"issue" : "9",
"series" : "Crossed One Hundred",
"type" : "",
"label" : "",
"sale-price" : "",
"publisher" : "Avatar",
"extra" : "",
"enlarge" : "/img/Fantasy Road new and preowned comic book sales - pressing and cleaning service at fantasy road - Crossed One Hundred 9.jpeg",
"run" : "",
"dimensions" : {
"weight" : "100"
},
"stock" : 1,
"allowOutOfStockPurchases" : false
}
到目前为止,我已经得到了这段代码,但我对自己在做什么一无所知,而且我知道它完全错误。
$("admin__submit").click(function(){
var id = $('.admin__id');
var price = $('.admin__price');
var url = $('.admin__url');
var data1 = $('.admin__data-item-description');
var data2 = $('.admin__data-item-name');
var year = $('.admin__year');
var issue = $('.admin__issue');
var series = $('.admin__series');
var type = $('.admin__type');
var label = $('.admin__label');
var price = $('.admin__sale-price');
var publisher = $('.admin__publisher');
var extra = $('.admin__extra');
var run = $('.admin__run');
var weight = $('.admin__weight');
var stock = $('.admin__stock');
var allowOutOfStockPurchases = $('.admin__allowOutOfStockPurchases');
$.post("comics.json",
{
"id" : '"' + id + '"',
"price" : '"' + price + '"',
"url" : "/",
"data-item-description" : '"' + data1 + '"',
"data-item-image" : '"' + url + '"',
"data-item-name" : '"' + data2 + '"',
"year" : '"' + year + '"',
"issue" : '"' + issue + '"',
"series" : '"' + series + '"',
"type" : '"' + type + '"',
"label" : '"' + label + '"',
"sale-price" : '"' + sale-price + '"',
"publisher" : '"' + publisher + '"',
"extra" : '"' + extra + '"',
"run" : '"' + run + '"',
"dimensions" : {
"weight" : '"' + weight + '"'
},
"stock" : stock,
"allowOutOfStockPurchases" : allowOutOfStockPurchases
},
function(data, status){
alert("Data: " + data + "\nStatus: " + status);
});
});
解决方案
只需为每个输入添加.val() 即可。
var price = $('.admin__price');
在这里,您参考了您的输入并将其保存为可变价格。因此,每当您需要获取它的值时,您都会调用.val ()
$.post("comics.json",
{
"id" : id.val() ,
"price" : price.val(),
这应该可以解决问题
推荐阅读
- sql - 基于开始和结束日期的 Oracle SQL 数据迁移
- java - notifyDataSetChanged 在 kotlin 的适配器中不起作用
- java - 运行时的 GUI 与 NetBeans GUI 构建器上的设计 GUI 不同
- jdbc - JDBC 属性 - 全有或全无
- python - RuntimeError:事件循环已关闭“Launcher.killChrome”从未等待,如何解决?
- javascript - 使用一个正则表达式的字符串后面的项目的多次匹配
- javascript - 在 React 中执行时如何禁用点击事件?
- javascript - 汽车贷款计算器公式
- robotframework - 在机器人框架中,是否有一种方法可以在关键字中打印嵌入参数的变量值而不是变量名?
- azure - 在 Azure Kubernets 服务中使用 Helm 部署 Airflow 时在启动时安装 Linux 包