JS获取页面数据执行Ajax请求
下面这个例子展示了如何使用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请求的更多相关文章
- 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中
摘自:http://blog.csdn.net/mazhaojuan/article/details/8592015 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来 ...
- js获取cookie数据并发送给服务端
js获取cookie数据并发送给服务端 <!DOCTYPE html> <html lang="en"> <head> <meta cha ...
- Python3.x:定时获取页面数据存入数据库
Python3.x:定时获取页面数据存入数据库 #间隔五分钟采集一次数据入库 import pymysql import urllib.request from bs4 import Beautifu ...
- 获取WebBrowser全cookie 和 httpWebRequest 异步获取页面数据
获取WebBrowser全cookie [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true) ...
- jquery、js获取页面高度宽度等
jquery获取页面高度宽度 //获取浏览器显示区域(可视区域)的高度 : $(window).height(); //获取浏览器显示区域(可视区域)的宽度 : $(window).width(); ...
- JS 点击元素发ajax请求 打开一个新窗口
JS 点击元素发ajax请求 打开一个新窗口 经常在项目中会碰到这样的需求,点击某个元素后,需要发ajax请求,请求成功以后,开发需要把链接传给前端(或者说请求成功后打开新窗口),前端需要通过新窗口打 ...
- JS获取页面传过来的值
利用JS获取页面的传值,此方法只适应Get传值. 获取页面之间的传值,在后台我们很容易获取,那我们在前台只利用JS怎么写呢? 在看代码之前你需要了解的 ① 参考:W3C Location 对象 Loc ...
- js获取页面所有搜索条件
<div class="search"> 产品简码:@Html.TextBox("ProCode", "") ...
- JS基础入门篇( 三 )—使用JS获取页面中某个元素的4种方法以及之间的差别( 一 )
1.使用JS获取页面中某个元素的4种方法 1.通过id名获取元素 document.getElementById("id名"); 2.通过class名获取元素 document.g ...
随机推荐
- 面试题48:用C++设计一个不能被继承的类
解法一:把构造函数设为私有 将构造函数定义为私有,然后通过定义公有的静态函数来创建和释放类的实例. { public: static SealedClass1* GetInstance() { ret ...
- WordCounter Python实现
<!doctype html>博客.md p:first-child, #write > ul:first-child, #write > ol:first-child, #w ...
- The Saltwater Room
I opened my eyes last night and saw you in the low light 昨夜我睁开眼,看见你在昏暗的灯光下 Walking down by the bay, ...
- 如何在PostgreSQL中建只读账号
转: 如何在PostgreSQL中建只读账号 Posted on 2014-01-21 22:00:15 by osdba 在PostgreSQL中并没有CREATE TABLE权限名称,这是与其它数 ...
- 一些初学shell自己写的一些练习题脚本
1斐波拉契数列前10个 #!/binbash#declare A=0declare B=1for ((i=1;i<6;i++)); do let A+=B printf " ...
- android Handler的使用(二)
Handler的使用(二) 一. Handler与线程的关系 Handler在默认情况下,实际上它和调用它的Activity是处于同一个线程的. 例如在Handler的使用(一)的示例1中,虽然 ...
- 高性能高并发服务器架构设计探究——以flamigo服务器代码为例
这篇文章我们将介绍服务器的开发,并从多个方面探究如何开发一款高性能高并发的服务器程序. 所谓高性能就是服务器能流畅地处理各个客户端的连接并尽量低延迟地应答客户端的请求:所谓高并发,指的是服务器可以同时 ...
- OpenGL ES 2: debugging, and improvements to VAO, VBO
OpenGL ES 2: debugging, and improvements to VAO, VBO http://www.altdevblogaday.com/2013/10/12/opengl ...
- 创建假的wifi热点
本帖介绍怎么创建假的wifi热点,然后抓取连接到这个wifi用户的敏感数据.我们还会给周围的无线路由器发送未认证的包,使这些路由器瘫痪,强迫用户连接(或自动连接)我们创建的假wifi热点. 这种攻击也 ...
- LOJ2823 「BalticOI 2014 Day 1」三个朋友
题意 给定一个字符串 S,先将字符串 S 复制一次(变成双倍快乐),得到字符串 T,然后在 T 中插入一个字符,得到字符串 U. 给出字符串 U,重新构造出字符串 S. 所有字符串只包含大写英文字母. ...