【发布时间】:2016-06-03 10:30:14
【问题描述】:
我有一个供应商的数据表。最后一列有一个删除按钮,用于打开确认删除供应商的模式:
删除按钮:
<a data-toggle="modal" class="modalActivator" value="{{supp['supplierId']}}" name="{{supp['navn']}}" data-target="#deleteConfirmModal"><span class="glyphicon glyphicon-trash"></a>
模态:
<div class="modal fade" id="deleteConfirmModal" role="dialog">
<div class="modal-dialog modal-sm">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">You are about to delete:<br /></h4>
</div>
<div class="modal-body">
<p>Do you want to continue?</p>
</div>
<div class="modal-footer">
<button type="button" id="modal-delete" class="btn btn-primary" data-dismiss="modal">Delete supplier</button>
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
</div>
</div>
</div>
通过单击“modal-delete”按钮,将 ajax 帖子发送到 url:/supplier/remove,从数据库中删除供应商。 在 url 上接收到数据并显示在控制台中,但不会触发 ajax 成功。
我尝试将数据类型更改为文本,但仍未触发。在 Chrome 网络工具中,帖子处于待处理状态
$('#modal-delete').click(function(e) {
var data = {};
data.supplierId = idToDelete;
console.log(data);
$.ajax({
type: 'POST',
data: data,
dataType: "text",
success: function(){ajax_success('I was posted!');},
error: function(){console.log('nothing was posted with ajax');},
url: '../api/supplier-list/remove',
cache: false
});
});
function ajax_success(mytext) {
console.log(mytext);
}
Chrome 网络工具:
一般 请求网址:http://localhost:8080/api/supplier-list/remove?callback=jQuery220026602954184636474_1456116313463 请求标头 显示临时标题 接受:text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, /; q=0.01 内容类型:application/x-www-form-urlencoded;字符集=UTF-8 来源:本地主机:8080 引用者:/localhost:8080/api/supplier-list 用户代理:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36 X-Requested-With:XMLHttpRequest 查询字符串参数 回调:jQuery220026602954184636474_1456116313463 表格数据 供应商编号:5
【问题讨论】:
-
为什么是" dataType: "text" ?
-
删除脚本怎么样?他有什么回报吗?尝试将 dataType 更改为 JSON
-
查看node js控制台,确认接收到什么数据
-
尝试删除 dataType: "text" 并检查一次
-
我都试过了,dataType: 'text' 和 dataType: 'json' 在这两种情况下,收到的数据都是:{ supplierId: '5' } 我在另一个站点上还有另一个 ajax 帖子,几乎相同,并且我成功发布了文字。对象的验证在 jsonlint.com 上失败,因为供应商 ID 上没有引号。与其他有效的 ajax 帖子的不同之处在于,这个帖子是从模态启动的,而另一个是从 onchange 下拉菜单启动的
标签: jquery ajax node.js express