gpt4 book ai didi

javascript - 使用 jQuery,如何存储调用 $.ajax 函数的结果以供重复使用?

转载 作者:行者123 更新时间:2023-12-02 20:48:14 24 4
gpt4 key购买 nike

感谢您阅读本文。

我想这确实是一个 javascript 问题,我的标题可能没有达到我想要做的事情的核心,但我想将我的 ajax 请求的结果存储在全局变量中。这将允许我在进行 ajax 调用之前测试 var...并避免对相同数据重复进行 ajax 调用。我需要能够通过 populateSelect 函数将点击事件中的变量名称传递到 ajaxCall 函数中。

似乎我可以传递一个函数作为参数,但我无法做到这一点。

我喜欢在问题中包含工作示例,但在这种情况下,调用服务器的延迟是问题的一部分。

谢谢

$('#getSelectOptions').bind("click", function() {
populateSelect(this);
});

function populateSelect(whatWasClicked) {
var thisSelect = $(whatWasClicked).parents("div").find("select") ;

var before = function() { $(loading).show() ; } ;
var complete = function() { $(loading).hide() ; } ;
var data = {'_service' : 'myService', '_program' : 'myProgram' } ;
var error = function(){alert("Error"); } ;
var success = function(request) { $(thisSelect).html(request) ; };
var waitTime = 20000 ;

ajaxCall(thisSelect, waitTime, before, complete, data, success, error ) ;
}

function ajaxCall(elementToPopulate, waitTime, whatToDoBeforeAjaxSend,
whatToDoAfterAjaxSend, dataToSendToTheServer,
whatToDoAfterSuccess, whatToDoAfterError) {
$.ajax({
type: "post",
url: "http://myURL/cgi-bin/broker",
dataType: "text",
data: dataToSendToTheServer,
timeout: waitTime,
beforeSend: whatToDoBeforeAjaxSend,
error: whatToDoAfterError(request),
success: whatToDoAfterSuccess(request)
});
}

编辑关于如何写一个好问题的进一步教育...我应该提到我调用 populateSelect 来填充多个选择..所以我需要方法来引用每个选择的结果

最佳答案

jQuery 有一个 $.data 方法,您可以使用它来存储/检索与页面上任何元素相关的项目。

//e.g. create some object
var inst = {};
inst.name = 'My Name'

var target = $('#textbox1');

//save the data
$.data(target, 'PROP_NAME', inst);

//retrieve the instance
var inst = $.data(target, 'PROP_NAME');

关于javascript - 使用 jQuery,如何存储调用 $.ajax 函数的结果以供重复使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/546344/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com