HTML表单的POST错误,忽略了jQueryAJAX指定的JSON格式
HTML form is POSTing incorrectly, ignoring jQuery AJAX specifying to format in JSON
因此,主要问题似乎是由于某种原因,我的jQuery代码被完全忽略了。我的表单是POSTing数据,但它似乎是在常规的键值对中,而不是正确格式化的JSON。服务器接收的问题与这里完全相同:如何使用JQuery发布JSON数据?
直到我在HTML的表单部分添加了"action="和method="POST",并在每个表单输入区域(文本框、下拉列表等)添加了"name="值,我的表单才开始发布。但现在它正在发布,它使用name="abc"作为每对中的第一个值,输入的值作为第二个值。为了测试这一点,我尝试删除了所有的jQuery,它仍然以完全相同的方式发布,即使代码中没有jQuery。下面是我的jQuery,旨在将我的四个输入POST为JSON。
<script>
$(document).ready(function() {
env1.checked = true;
$("button").click(function() {
var x = {
"apiName": $("#apinameid").val(),
"apiURL": $("#apiurlid").val(),
"environment": $("#envid").val(),
"action": $("#actionid").val()
}
$.ajax({
url: 'http://requestb.in/1kynzln1',
type: 'POST',
contentType: "application/json",
dataType: "json",
data: x,
success: function(json) {
alert(JSON.stringify(json));
},
error: function() {
alert(data);
}
});
});
});
这是我的HTML(可能相关的部分)
<div class="section section-primary"><div class="container"><div class="row"><div class="col-md-12"><h1 class="text-center">Akana Server Proxy Configuration Portal</h1></div></div></div></div>
<div class="section section-warning">
<div class="container">
<div class="row">
<div class="col-md-12">
<h3 class="text-left">Please enter your API's information below:</h3>
</div>
</div>
</div>
</div>
<div class="section section-warning">
<div class="container">
<div class="row">
<div class="col-md-12">
<form action="http://requestb.in/1kynzln1"method="POST"role="form">
<div class="form-group">
<label class="control-label" for="exampleInputEmail1">API Name</label>
<input name="apiName" class="form-control input-lg" id="apinameid" placeholder="Cat API" type="text">
</div>
<div class="form-group">
<label class="control-label" for="exampleInputEmail1">API URL</label>
<input name="apiURL" class="form-control input-lg" id="apiurlid" placeholder="http://cats.com/api" type="text">
</div>
<div class="form-group">
<label class="control-label">Environment</label>
<select name="environment" id="envid" class="form-control">
<option value="Dev" id="devid">Dev</option>
<option value="Stage" id="stgid">Stage</option>
<option value="Prod" id="prodid">Prod</option>
</select>
</div>
</div>
<div class="form-group"></div>
<div class="form-group">
<label class="control-label">Configuration Action</label>
<select name="action" id="actionid" class="form-control">
<option value="Add" id="add">Add a new API</option>
<option value="Remove" id="remove">Remove an API</option>
</select>
<p class="help-block">You can add or remove access to an API by configuring the proxy.</p>
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
</div>
</div>
</div>
</div>
非常感谢您的帮助!非常感谢。
简单答案,在JavaScript
对象中,不能使用引号作为值键:
您的代码:
var x = {
apiName: $("#apinameid").val(),
apiURL: $("#apiurlid").val(),
environment: $("#envid").val(),
action: $("#actionid").val()
}
相关文章:
- jQuery匹配JSON对象的部分文本
- 在循环中分配json值时,值被覆盖
- 需要帮助设置json数组
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 使用JQuery解析JSON嵌套数组
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- 如何使用json将对象列表从java转换为javascript
- 如何使用 node.js 比较两个 json 数组
- 如何将JSON数据导入我的ejs模板
- 区分JSON中的矩阵和列表列表
- 不显示带有本地json文件数据的谷歌地图脚本
- 当我用JQueryAJAX传递JSON数组时,我会得到null
- 通过jQueryAJAX从远程URL检索JSON数据
- 关于访问jQueryAjax中的脚本内JSON对象的问题
- 使用JQueryAjax将Json对象数组发送到Web方法
- JQueryAjax JSON错误报告$.ajaxpost成功
- HTML表单的POST错误,忽略了jQueryAJAX指定的JSON格式