我做了ajax调用并在回调函数中得到了响应,如下所示:
var v="";
....
jq.post(contextPath + "/dmp/workspace/inlineCssExtraction", {
jsonForSaveInlineCss: JSON.stringify(styleArr)
}, function(data) {
v=data;
});
return v;
我面临的问题是,我正在获得v的空值。 我认为原因是,ajax响应需要花费很长时间才能恢复。行已执行。有什么方法可以解决这个问题吗?
问候
答案 0 :(得分:0)
你不能这样做.... AJAX是异步的 - 返回表达式将在回调函数之前执行
jq.post(contextPath + "/dmp/workspace/inlineCssExtraction", {
jsonForSaveInlineCss: JSON.stringify(styleArr)
}, function(data) {
processdata(data);
});
您可以将数据传递给将在AJAX成功时调用的函数
答案 1 :(得分:0)
试试这个..你可能无法用$ .post方法返回值
function returnText()
{
var json = $.ajax({type: "GET", url: "test.php?teststr=i", async: false}).responseText;
return json;
}
如果你想使用post方法,你可以检查.ajax()
var request = $.ajax({
url: "script.php",
type: "POST",
data: {id : menuId},
dataType: "html"
});