使用$给全局变量赋值.Ajax (JQuery)
Assign value to global variable using $.Ajax (JQuery)
我正在创建基于Ajax返回的Json数据的网格的新功能。我决定把这个功能封装在一个函数中,所以当我添加/更新/删除时,我可以成功地检索数据的新表示。
我的问题是我想填充一个全局数组,但一旦我的函数使用AJAX结束,我有一个数组,但没有数据。当所有代码都在AJAX调用中时,这不是问题,但是一旦我试图将其分离到自己的函数中,它就不能按预期工作了。
<script type="text/javascript">
var DataArray = [];
// Use this function to fill array
function retrieveNotes() {
$.ajax({
url: "http://wks52025:82/WcfDataService.svc/GetNotesFromView()?$format=json",
type: "get",
datatype: "json",
asynch:true,
success: function (data) {
returnedData = data;
$.each(data.d, function (i, item) {
DataArray[i] = [];
DataArray[i][0] = item.NotesTitle.trim();
DataArray[i][1] = item.ProfileName.trim();
DataArray[i][2] = item.IsShared;
DataArray[i][3] = item.NameOfUser.trim();
}) // End of each loop
}
});
}
$(document).ready(function () {
retrieveNotes();
DataArray;
</script>
它是异步的,所以您必须等待ajax调用完成后才能使用数据:
function retrieveNotes() {
return $.ajax({
url: "http://wks52025:82/WcfDataService.svc/GetNotesFromView()?$format=json",
type: "get",
datatype: "json"
});
}
$(document).ready(function () {
retrieveNotes().done(function(data) {
var DataArray = [];
$.each(data.d, function (i, item) {
DataArray[i] = [];
DataArray[i][0] = item.NotesTitle.trim();
DataArray[i][1] = item.ProfileName.trim();
DataArray[i][2] = item.IsShared;
DataArray[i][3] = item.NameOfUser.trim();
});
// you can only use the data inside the done() handler,
// when the call has completed and the data is returned
});
});
相关文章:
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 将curl查询转换为jQuery.ajax()
- jQuery AJAX write to XML
- jQuery Ajax GET请求工作不正常
- jquery ajax https调用给出ERR_INSECURE_RESPONSE
- VB NET JQUERY AJAX上出现错误500
- 如何使用jquery ajax和jsonp在您自己的域上读取json数据
- Jquery/Ajax.serialize()未完全工作
- 页面加载之前的jQuery Ajax加载程序
- jquery/ajax无限滚动事件
- 使用Jquery$.ajax将json数据传递给servlet(doPost)
- 如何将给定的curl命令复制为jquery ajax请求
- 使用 JQUERY AJAX (Spring MVC) 从控制器中删除
- Twitter API在jQuery AJAX中设置授权头
- AngularJS JQuery Ajax表单提交等效
- jQuery Ajax.ajaxSuccess()事件未激发
- 为什么Jquery$.ajax在函数调用中触发所有statusCode,即使调用成功
- jQuery AJAX总是出错
- jQuery Ajax数组序列化错误
- jQuery AJAX获取Vimeo缩略图