php - 如何在提交模式表单时禁用查询字符串出现在 url 上?
问题描述
我创建了一个用于提交单个文本输入的模式表单。我想通过 ajax 提交而不重新加载浏览器,但是每当我提交表单时自动关闭,页面刷新并且输入数据显示在 url 上,就好像它是使用 GET 方法提交的一样,即使我已经声明了类型:“POST”,关于阿贾克斯。请帮我解决这个问题。
我正在使用 codeigniter 3.9
html表单:
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="H3">Update Product Location</h4>
</div>
<div class="modal-body">
<form role="form">
<div class="row">
<div class="col-md-8 form-group"><input class="form-control" name="pincodeloc" id="pincodeloc" placeholder="Enter pincode"/></div>
<input type="hidden" name="prod_id" id="prod_id" value="" readonly/>
<div class="col-md-4"><button type="submit" class="btn btn-primary" id="addproductlocbtn">Save</button></div>
</div>
</form>
</div>
</div>
</div>
</div>
ajax code:
$("#addproductlocbtn").click(function() {
addproductlocation();
});
function addproductlocation() {
var returnval = true;
if (returnval==true) {
$.ajax({
type: "POST",
url: baseUrl + "admin/product/productlocation",
data: {
pincode: $("#pincodeloc").val(),
prodid: $("#prod_id").val()
}
})
.done(function(msg) {
if (msg) {
$('#emsg').html('');
$("#pincodeloc").val('');
$("#prod_id").val('');
} else {
$('#success_msg').html('');
$('#emsg').html('<p>' + msg + '</p>');
}
});
} else {
return false;
}
}
url 上的查询字符串显示为:www.xyz.com/dashboard/product?pincodeloc=&prod_id=12
解决方案
如果您不想重新加载页面,请使用<button type="button">
not <button type="submit">
。
推荐阅读
- arrays - 如何将元组数组转换为字符串?
- regex - 在文件名中查找给定年份文件夹中的所有 pdf
- glassfish - 在部署 ADF 应用程序时,此 Web 容器尚未在 Glassfish 中启动
- html - 如何在基础 6 网格中插入全屏边框
- reactjs - 找不到模块'expo/tools/LogReporter'
- c# - Lottie AnimationView 在 iOS 中不工作,但在 Android c# 实现中工作
- python - Python:生成器和过滤器如何在使用 filter() 生成素数列表的代码中工作
- python - 从数据框中删除反向重复
- javascript - AFrame / Three.js - 有没有办法获取 object3D 的像素尺寸来计算每米的像素数?
- javascript - ngModel 不会在来自字符串的输入上呈现