HTML/CSS代码

构建onclick事件

<div class = "row">
<div class = "col-md-10">
<input type="text" id="inputcpn" class="form-control" name="inputcpn">
</div>
<div class = "col-md-2">
<button type = "button" class="btn btn-green" onclick="nanshou()">Apply</button>
</div>
</div>

JavaScript代码(jQuery)

TYPE:请求类型,

URL:发送请求的地址,

DATA:发送到服务器的数据,

DATATYPE:预期服务器返回的数据类型,可以为xml、html、json、javascript、text等。

SUCCESS:请求成功后的回调函数。

进行AJAX请求,其中值得注意的地方是若数据格式为JSON,那么value属性必须为已经定义过的变量或者值(如果值为字符串,则使用双引号,JSON不支持单引号)。

<script language="javascript" type="text/javascript">
function nanshou(){
var cpn= $('#inputcpn').val();
var str= "" ;
$('.productid').each(function(){
str += $(this).html();
str += ",";
});
str = str.substring(0, str.length - 1);
var storeid= $('#currentstoreid').html();
params = {inputcpn: cpn, products: str, storeid: storeid}; $.ajax({
type : "POST",
url : "/product/applycoupons",
data : params,
dataType:'json',
success:function(data)
{
if(data.result == "fail"){
window.location="/product/checkout/cart/"+storeid+"/Invalid";
}
else{
window.location="/product/checkout/cart/"+storeid+"/Applied"; }
}
}); }
</script>

Express.js 代码(在route products.js 文件)

顺手写(编)了一个简单逻辑的回传给AJAX的if语句。

var express  = require('express');

var app = express.Router();
app.post(['/applycoupons'], function(req, res){
var products = req.body.products;
var storeid = req.body.storeid;
var code = req.body.inputcpn;
  if (code == "") {
  res.json({'result': 'fail'});
  res.end();
  return false;
  }
else{
    res.json({'result': 'success'});   
    res.end();
    return false;
}
});

【jQuery、Express.js】AJAX提交Form的更多相关文章

  1. Ajax提交form表单内容和文件(jQuery.form.js)

    jQuery官网是这样介绍form.js A simple way to AJAX-ify any form on your page; with file upload and progress s ...

  2. 今天在研究jquery用ajax提交form表单中得数据时,学习到了一种新的提交方式

    今天在研究jquery用ajax提交form表单中得数据时,学习到了一种新的提交方式 jquery中的serialize() 方法 该方法通过序列化表单值,创建 URL 编码文本字符串 序列化的值可在 ...

  3. jquery实现ajax提交form表单的方法总结

    本篇文章主要是对jquery实现ajax提交form表单的方法进行了总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助 方法一:  function AddHandlingFeeToRefund( ...

  4. jquery的ajax提交form表单方式总结

    方法一: function AddHandlingFeeToRefund() { var AjaxURL= "../OrderManagement/AjaxModifyOrderServic ...

  5. jquery实现ajax提交form表单的方法总结(转)

    方法一: 复制代码 代码如下: function AddHandlingFeeToRefund() {            var AjaxURL= "../OrderManagement ...

  6. 使用ajax提交form表单,包括ajax文件上传 转http://www.cnblogs.com/zhuxiaojie/p/4783939.html

    使用ajax提交form表单,包括ajax文件上传 前言 使用ajax请求数据,很多人都会,比如说: $.post(path,{data:data},function(data){ ... },&qu ...

  7. ajax提交form表单

    1. ajax提交form表单和不同的form表单的提交主要区别在于,ajax提交表单是异步提交的,而普通的是同步提交的表单. 2. from视图部分 <form id="loginF ...

  8. ajax提交form表单资料详细汇总

    一.ajax提交form表单和不同的form表单的提交主要区别在于,ajax提交表单是异步提交的,而普通的是同步提交的表单.通过在后台与服务器进行少量数据交换,ajax 可以使网页实现异步更新.这意味 ...

  9. django ajax提交form表单数据

    后台: from django.shortcuts import render from django.shortcuts import redirect from django.shortcuts ...

  10. ajax异步、同步问题,KindEditor ajax提交内容,ajax提交form表单 解决按两次的问题

    版权声明:本文为博主原创文章,未经博主允许不得转载. 如果ajax不采用异步,整个js代码在服务器返回结果前都将阻塞,alert方法除外 lookUp('lookUp','',100,300,3); ...

随机推荐

  1. sission的使用

    链接:https://pan.baidu.com/s/10B2V9g9OLmOY-9dKVoA15Q 提取码:fy7c 通过sission实现记录人数截图如下:

  2. Java多线程编程的常见陷阱

    .在构造函数中启动线程 我在很多代码中都看到这样的问题,在构造函数中启动一个线程,类似这样: public class A{ public A(){ ; ; this.thread=new MyThr ...

  3. C# 解析html中筛选class的问题

    C# 解析html中筛选class的问题 C# html解析 class 类  当我们用C#的.net解析html的时候,当html的元素没有id,并且没有过多的属性供筛选,只能通过class=&qu ...

  4. c# 设计模式(一) 工厂模式

    源代码在github上面,需要的自己进行下载:https://github.com/yuzhoukamen/UnikmDesignPattern.git 工厂模式(Factory Pattern)是最 ...

  5. SOAR SQL进行优化和改写的自动化工具

    前言 SQL优化是程序开发中经常遇到的问题,尤其是在程序规模不断扩大的时候.SQL的好坏不仅制约着程序的规模,影响着用户的体验,甚至威胁着信息的安全. 我们经常听到说哪家平台挂了,哪家网站被黑了,但我 ...

  6. Codeforces 1027F Session in BSU - 并查集

    题目传送门 传送门I 传送门II 传送门III 题目大意 有$n​$门科目有考试,第$i​$门科目有两场考试,时间分别在$a_i, b_i\ \ (a_i < b_i)​$,要求每门科目至少参加 ...

  7. 浅谈RESTful

    浅谈RESTful 什么是RESTful? REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移. 它首次出现在2000年Ro ...

  8. 论文笔记:AdaScale: Towards real-time video object detection using adaptive scalingAdaScale

    AdaScale: Towards real-time video object detection using adaptive scaling 2019-02-18 16:14:17 Paper: ...

  9. 转载redis持久化的几种方式

    redis持久化的几种方式 1.前言 Redis是一种高级key-value数据库.它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富.有字符串,链表,集 合和有序集合.支持在服 ...

  10. 解决 scapy “NameError: global name 'wrpcap' is not defined” 错误

    解决 scapy "NameError: global name 'wrpcap' is not defined" 错误 通过 scapy 编写发包脚本时遇到如下错误: Trace ...