下面这个例子展示了如何使用js获取页面中元素的值,并且将这些值作为参数执行Ajax请求。

$("#submit-task").bind("click", function (event) {
event.preventDefault();
event.stopPropagation();
if(validate() == false){
exit;
}
var submitBtn = this;
// 禁止提交按钮
$(submitBtn).attr('disabled', 'disabled'); var formData = new FormData($('#task-form')[0]); var task_id = $("input#task_id").val(); var type = "PUT";
var url = '/api/v1/task/task/update/'+task_id; $.ajax({
type:type,
url: url,
data: formData,
contentType: false,
cache: false,
async:false,
processData:false,
success: function(data){
layer.msg("任务创建成功");
// 成功后跳转到首页
window.location.href = "/task/list";
},
error: function(err){
console.log(err);
layer.msg("提交失败,失败原因:" + err.responseText);
// 让提交按钮重新有效
$(submitBtn).removeAttr('disabled');
}
});
}); function validate() {
var fields = {
'plan_name': '计划名称',
'product_url': '商品链接',
'shop_name': '店铺名称',
'shop_id': '店铺ID',
'product_id': '商品ID',
};
for (var fiels in fields){
var obj = document.getElementsByName(fiels)[0];
if(obj.value == null || obj.value == ""){
obj.focus();
alert(fields[fiels] + "不能为空");
return false;
}
}
return true;
}
  • 获取表单中所有元素的值
var formData = new FormData($('#task-form')[0]);

task-form是form标签的id值,值得注意的是获取表单数据是根据元素的name属性来获取,在后台获取传过去的值时,类似于将name属性的值作为键,将value属性的值作为值来处理。

  • 获取单个元素的值
var task_id = $("input#task_id").val();
var search = $("input[name='search']").val();
var username = $("#register-form input[name='username']").val();
var obj = document.getElementsByName('name')[0].value;
  • 上面的数据采用的是表单格式,也可以使用Json格式
// 构造参数
var data = {
task: 'task',
action: 'action',
times: 'times'
}
// 配置ajax参数
data: JSON.stringify(data),
contentType: "application/json",

JS获取页面数据执行Ajax请求的更多相关文章

  1. 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中

    摘自:http://blog.csdn.net/mazhaojuan/article/details/8592015 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来 ...

  2. js获取cookie数据并发送给服务端

    js获取cookie数据并发送给服务端 <!DOCTYPE html> <html lang="en"> <head> <meta cha ...

  3. Python3.x:定时获取页面数据存入数据库

    Python3.x:定时获取页面数据存入数据库 #间隔五分钟采集一次数据入库 import pymysql import urllib.request from bs4 import Beautifu ...

  4. 获取WebBrowser全cookie 和 httpWebRequest 异步获取页面数据

    获取WebBrowser全cookie [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true) ...

  5. jquery、js获取页面高度宽度等

    jquery获取页面高度宽度 //获取浏览器显示区域(可视区域)的高度 : $(window).height(); //获取浏览器显示区域(可视区域)的宽度 : $(window).width(); ...

  6. JS 点击元素发ajax请求 打开一个新窗口

    JS 点击元素发ajax请求 打开一个新窗口 经常在项目中会碰到这样的需求,点击某个元素后,需要发ajax请求,请求成功以后,开发需要把链接传给前端(或者说请求成功后打开新窗口),前端需要通过新窗口打 ...

  7. JS获取页面传过来的值

    利用JS获取页面的传值,此方法只适应Get传值. 获取页面之间的传值,在后台我们很容易获取,那我们在前台只利用JS怎么写呢? 在看代码之前你需要了解的 ① 参考:W3C Location 对象 Loc ...

  8. js获取页面所有搜索条件

    <div class="search">        产品简码:@Html.TextBox("ProCode", "")    ...

  9. JS基础入门篇( 三 )—使用JS获取页面中某个元素的4种方法以及之间的差别( 一 )

    1.使用JS获取页面中某个元素的4种方法 1.通过id名获取元素 document.getElementById("id名"); 2.通过class名获取元素 document.g ...

随机推荐

  1. L128

    How Google Search Results Work Political leanings don't factor into Google's search algorithm. But t ...

  2. 你不知道的sticky

    position:sticky,Chrome新版本已经做了支持.sticky的中文翻译是“粘性的”,position:sticky表现也符合这个粘性的表现.基本上,可以看出是position:rela ...

  3. JQuery动态隐藏和显示DIV

    <head> <script language="javascript"> function HideWeekMonth() { $("#tt1& ...

  4. 7.usr下重要目录和文件详解

    1./usr下重要目录和文件详解: /usr(存放用户安装的应用软件目录,如MySQL,Apache,这是一个非常重要的目录,类似于Windows下的Program Files目录,用户的很多应用程序 ...

  5. LINUX系统yum安装SVN服务及其配置

    待: http://oplinux.com/app/svn/linux-yum-install-svn.html  //基础设置及流程 http://files.cnblogs.com/logon/s ...

  6. VS2010中使用 SpecFlow + Selenium.WebDriver

    安装(VS扩展.程序包) [工具]->[扩展管理器],安装SpecFlow [工具]->[库程序包管理]->[程序包管理器控制台] PM> Install-Package Sp ...

  7. BZOJ - 5427:最长上升子序列 (二分&思维)

    现在给你一个长度为n的整数序列,其中有一些数已经模糊不清了,现在请你任意确定这些整数的值, 使得最长上升子序列最长.(为何最长呢?因为hxy向来对自己的rp很有信心)   Input 第一行一个正整数 ...

  8. LeetCode Complex Number Multiplication

    原题链接在这里:https://leetcode.com/problems/complex-number-multiplication/description/ 题目: Given two strin ...

  9. 【转载】对一致性Hash算法,Java代码实现的深入研究

    原文地址:http://www.cnblogs.com/xrq730/p/5186728.html 一致性Hash算法 关于一致性Hash算法,在我之前的博文中已经有多次提到了,MemCache超详细 ...

  10. log4j及其log4j2的使用

    简单的说 log4j2 是log4j2的升级版,据说采用了一些新技术(无锁异步.等等),使得日志的吞吐量.性能比log4j 1.x提高10倍,并解决了一些死锁的bug,而且配置更加简单灵活.其使用方式 ...