Javascript 值需要在ajax响应完成后返回
我进行了ajax调用,在回调函数中得到了如下响应:Javascript 值需要在ajax响应完成后返回,javascript,ajax,Javascript,Ajax,我进行了ajax调用,在回调函数中得到了如下响应: var v=""; .... jq.post(contextPath + "/dmp/workspace/inlineCssExtraction", { jsonForSaveInlineCss: JSON.stringify(styleArr) }, function(data) { v=data; }); return v; 我面临的问题是,我得到了v的空值。 我认为原因是,ajax响应需要很长时间,在这次重新运
var v="";
....
jq.post(contextPath + "/dmp/workspace/inlineCssExtraction", {
jsonForSaveInlineCss: JSON.stringify(styleArr)
}, function(data) {
v=data;
});
return v;
我面临的问题是,我得到了v的空值。
我认为原因是,ajax响应需要很长时间,在这次重新运行之前;行被执行。有没有办法解决这个问题
你不能这样做。。。。AJAX是异步的——返回表达式将在回调函数之前执行
jq.post(contextPath + "/dmp/workspace/inlineCssExtraction", {
jsonForSaveInlineCss: JSON.stringify(styleArr)
}, function(data) {
processdata(data);
});
您可以将数据传递给一个函数,该函数将在AJAX成功时调用。。u可能无法使用$.post方法返回值
function returnText()
{
var json = $.ajax({type: "GET", url: "test.php?teststr=i", async: false}).responseText;
return json;
}
var request = $.ajax({
url: "script.php",
type: "POST",
data: {id : menuId},
dataType: "html"
});
你可以检查一下你是否想使用post方法
function returnText()
{
var json = $.ajax({type: "GET", url: "test.php?teststr=i", async: false}).responseText;
return json;
}
var request = $.ajax({
url: "script.php",
type: "POST",
data: {id : menuId},
dataType: "html"
});
你是先搜索的吗?我猜那里有很多类似的问题/答案……是的!我忘了它是异步的。我会用另一种方法。无论如何,谢谢你的帖子!