Ajax-如何获取数据
Ajax -How to Fetch data
我一直在尝试使用AjAX获取数据。下面是具有输入值的HTML表单的代码。数据值通过提交按钮被推送到python处理程序。在服务器端,python处理程序将数据存储在数据库中。
现在,我需要首先通过AJAX从数据库中获取数据,并显示是否存在现有值。数据由"是或否"状态组成,非常简单。但我不知道如何使用ajax获取数据,并根据获取的数据正确设置输入值。问题是,我如何通过Ajax调用处理程序来返回值?
<html>
<script language="javascript" src="https://code.jquery.com/jquery-1.11.1.min.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
send_data = function(status) {
$.ajax({
url: "/Subscription",
dataType: "json",
data: {'status' : status},
type: "POST",
cache: false
}).done(function(data, status, xml) {
var obj = jQuery.parseJSON(data);
alert(obj.success);
}).fail(function(jqXHR, textStatus, errorThrown) {
}).always(function() {
});
}
$(document).ready(function() {
$("#subscription").submit(function() {
send_data($("#switch-1").prop('checked') ? 'yes' : 'no');
return false;
});
});
</script>
</head>
<body>
<form id="subscription" action="" method="post">
<label class="mdl-switch mdl-js-switch mdl-js-ripple-effect" for="switch-1">
<input type="checkbox" id="switch-1" class="mdl-switch__input" id="status" name="status" />
<span class="mdl-switch__label">blemtorp@google.com subscription status is: << subscription >> </span>
<input type="submit" value="Submit" /></label>
</form>
</body>
</html>
非常感谢。任何提示都会很有帮助。
要根据用户输入执行异步调用,必须发出请求,然后明确指定要在请求中执行的操作成功、失败等。
例如:
function send_data(shouldRequest, successCallback) {
// if ...prop('checked'), run ajax request
if (shouldRequest) {
$.ajax({
url: "/Subscription",
dataType: "json",
data: {'status' : status},
type: "POST",
cache: false
}).done(function(data, status, xml) {
// when request completes, run callback function
successCallback(data);
});
}
}
$("#subscription").submit(function() {
var checked = $("#switch-1").prop('checked');
var successCallback = function(data) {
// perform success actions on data here
}
send_data(checked, successCallback);
});
如果将successCallback
传递给send_data
函数,则只有在异步调用成功完成时才能运行函数。您还可以传入其他函数来处理错误等。
您还可以传入其他函数来处理ajax请求的不同结果,比如处理错误的函数。
通过在ajax中设置dataType:"json"
,无需在done()
回调中使用JSON.parse()
。
根据您的json使用data.success
或data.status
。
json响应示例{'success':'yes'}
或{'status':'yes'}
相关文章:
- Ajax-如何获取数据
- 从键值结构中获取数据,并将其与AngularJS中ng重复的值进行比较
- 从数据库中获取数据并插入JavaScript变量
- 从单击的行上的列中获取数据
- Solr查询以按日期月份获取数据&年
- React路由器服务器端渲染和ajax获取数据
- 使用JavaScript在IE9中获取数据列表选项
- 从json子数组获取数据
- 使用angularjs中的rest调用通过id获取数据
- 正在从ruby应用程序中的数据库中获取数据
- 如何从servlet获取数据到ajax成功
- 从选择下拉菜单中获取数据
- 异步获取数据使用JavaScript同步获取数据
- 从服务器获取数据并在选择控件中使用ng选项无法显示选项
- 如何在Angular.js中循环动态添加Fields并获取数据并将其发送到服务器
- JavaScript-获取数据属性的值返回未定义的值
- 如何从文本区域获取数据并使用javascript进行解密
- 在put方法之前从作用域获取数据
- 事件循环的MEAN.JS setInterval进程(从另一个服务器获取数据)
- 使用ReactJS和Flux架构从服务器获取数据的正确方法是什么