页面有一个请求form:

<form method="post" id="signin">
<label for="orderid">订单编号</label>
<input id="oid" name="orderid" value="" title="orderid" tabindex="4" type="text">
</p>
<p>
<label for="username">用户帐户</label>
<input id="username" name="username" value="" title="username" tabindex="5" type="text">
</p>
<p>
<label for="sendStatus">发货状态</label>
<select id="sendStatus">
<option value="-1">请选择</option>
<option value="0">未发送</option>
<option value="1">已发送</option>
</select>
</p>
<p>
<button type='submit' id='submit' onclick=showdatalist()>查询</button>
</p>
</form>

JavaScript请求部分:

function showdatalist()
{
var username = $("#username").val();
var orderid = $("#oid").val();
var sendStatus = $("#sendStatus").val();
var data = {"username" : username, "orderid" : orderid, "sendStatus" : sendStatus, "type" : "0"};
$.ajax({
url:"<%=path%>" + "/****",
type : "post",
data : data,
async : true,
success : function(obj)
{
console.dir(obj);
if (obj.success == true)
{
if (obj.obj == null || obj.obj.length < 1)
{
$("#content").html("");
}
else
{
$("#content").html("");
var content= obj.obj ;
var p = "";
var start = 0;
for (i = 0; i < content.length; i++)
{
//组装数据
}

}

}
}
});
}

控制台监测到两次请求:

原因:

发生两次提交的原因是在执行完ajax请求后,并没有阻止submit的行为,所以解决方法有两种:

1、不使用type为submit类型的按钮,而是使用type是button的按钮。

2、在showdatalist函数中,最后加一行return false;,即可阻止submit。

jquery ajax请求了两次问题的更多相关文章

  1. jquery ajax请求方式与提示用户正在处理请稍等,等待数据返回时loading的显示

    1.jquery ajax请求方式与提示用户正在处理请稍等 为了提高用户体验度,我们通常会给出 “正在处理,请稍等!”诸如此类的提示.我们可通过设置$.ajax()下的参数beforeSend()来实 ...

  2. jQuery ajax 请求php遍历json数组到table中

    html代码(test.html),js在html底部 <!DOCTYPE html> <html lang="en"> <head> < ...

  3. jquery Ajax请求示例,jquery Ajax基本请求方法示例

    jquery Ajax请求示例,jquery Ajax基本请求方法示例 ================================ ©Copyright 蕃薯耀 2018年5月7日 https: ...

  4. jquery.ajax请求aspx和ashx的异同 Jquery Ajax调用aspx页面方法

    1.jquery.ajax请求aspx 请求aspx的静态方法要注意一下问题: (1)aspx的后台方法必须静态,而且添加webmethod特性 (2)在ajax方法中contentType必须是“a ...

  5. 原生js,jquery ajax请求以及jsonp的调用

    ajax    是用来处理前后端交互的技术,可以改善用户体验,其本质是    XMLHttpRequest,异步访问服务器并发送请求数据,服务器返回响应的数据,以页面无刷新的效果改变页面中的局部内容  ...

  6. jQuery ajax请求错误返回status 0和错误error的问题

    上周发现一个jQuery ajax请求错误返回status 0和错误error的问题,responseText是"error",状态码是0而不是200: $.ajax({ type ...

  7. jquery Ajax请求中显示Loading...

    jquery Ajax请求中显示Loading... $('#btnTest').click(function(){      $.ajax({           url ---- ,根据你需要设置 ...

  8. 二、jQuery Ajax请求

    一.Ajax请求 1.jQuery Ajax请求 let ajaxTimeOut = $.ajax({ //将网络请求事件赋值给变量ajaxTimeOut url: "/api_v1.1/a ...

  9. jquery ajax 请求参数详细说明 及 实例

    url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 ...

随机推荐

  1. 验证dictionary重复键

    if (dict.ContainsKey("sadsa")) { }

  2. 无线网WEP的安全测试及防范

    650) this.width=650;" border="0" alt="" src="http://img1.51cto.com/att ...

  3. (原创)jquery插件-可选可填控件

    ;(function ($) { $.fn.autoFillTextBox = function (options) { var defaults = { nShow: 5, //显示条数 nLen: ...

  4. 进入GRUB改root用户密码

    开机读取倒计时时按任意键----e---->选择第二行 kernel ---->按e, 再按空格 >输入1----回车--->选择kernel输入b----> passw ...

  5. does not support ASP.NET compatibility 错误

    The service cannot be activated because it does not support ASP.NET compatibility. ASP.NET compatibi ...

  6. HDU3535AreYouBusy(分组背包)

    http://acm.hdu.edu.cn/showproblem.php?pid=3535 分组背包,每一组加了以下三个限制 0 stands for the sets that should ch ...

  7. Delphi中GUID相等检查中经典指针应用

    type PGUID = ^TGUID; TGUID = packed record D1: LongWord; D2: Word; D3: Word; D4: array[0..7] of Byte ...

  8. static和extern的区别

    extern(外部) 1.对函数      完整的定义一个外部函数(可以省略extern)      完整的声明一个外部函数(可以省略extern) 2.对变量      只能声明一个外部变量(不能省 ...

  9. C# DataTable.Select() 筛选数据

    有时候我们需要对数据表进行筛选,微软为我们封装了一个公共方法, DataTable.Select(),其用法如下: Select() Select(string filterExpression) S ...

  10. 重载PostNcDestroy()函数做一些清理工作

    转自:http://zhidao.baidu.com/link?url=W-OOWnvUx58w1esKfRAMtvbzBhjfyKodhk8j2DcTtlcDKAOy8sBNW-8Ey2RAhc0l ...