gpt4 book ai didi

Javascript:调用阻塞 HTTP POST

转载 作者:可可西里 更新时间:2023-11-01 15:23:41 25 4
gpt4 key购买 nike

<分区>

我有一个调用方函数调用另一个函数发送带参数的 HTTP POST。现在我希望这个调用的函数阻止执行,直到它“成功”(所以当它的 HTTP POST 完成时)。

这是我的逻辑代码:

var fingerprint = null;
var janus_session = null;
var inserted = "false";

$(document).ready(function() {
//stuff
fingerprint = FindFingerprint(jsep);

janus_session = janus.getSessionId();
inserted = SendSDPLine(fingerprint, janus_session);
console.log("**in MAIN: inserted= " + inserted);

//other stuff
}

function SendSDPLine(fingerprint, janus_session) {
var sdp = fingerprint;
// var url = "http://localhost:8484/Shine/AccountController";
var action_type = "InsertSDPLine";
var sessionid = janus_session;

$.ajax({
type: "POST",
url: url,
xhrFields: {
withCredentials: false
},
data: {
"action": action_type,
"sdpline": fingerprint,
"sessionid": sessionid
},
success: function(data) {
if (data == "INSERTED") {
inserted = "true";
console.log("in SENDSDPLINE: inserted= " + inserted);
}
return inserted;
// return checkFingerprint (fingerprint);
},
// vvv---- This is the new bit
error: function(jqXHR, textStatus, errorThrown) {
console.log("Error, status = " + textStatus + ", " +
"error thrown: " + errorThrown);
}
});

}

简而言之,我希望在检查 HTTP POST 响应后执行 other stuff。我已经看到另一个问题:最初,inserted 具有 false 值。在 HTTP POST 响应的 success(data) 中,它具有 true 值。但是,在调用函数中,以下 console.log 具有 undefined 值。

所以,我有两个问题:

  1. 如何将这个值返回给调用函数
  2. 如何在收到 HTTP POST 响应之前停止调用函数的执行?

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