gpt4 book ai didi

jquery - 从ajax响应创建var

转载 作者:行者123 更新时间:2023-12-01 07:31:14 24 4
gpt4 key购买 nike

我需要创建一个函数并从 ajax 响应创建一个 js var 我可以这样做吗:

function myFunction() {
$.ajax({
type: "POST",
url: "mypage.php",
data: "name=John&location=Boston",
success: function(data){
var newVar = (data);
}
});

return newVar;
}

以及 mypage.php

// db insert
echo mysql_insert_id(); // return ID of the latest insert

我不确定在这种情况下使用数据是否合适。

最佳答案

$.ajax({
type: "POST",
url: "mypage.php",
data: "name=John&location=Boston",
success: function(data){
// <- I'm asynchronous !!!
var newVar = (data);
}
});

// <- I return before you set me!
return newVar;

AJAX 请求与服务器通信,然后稍后调用 success 方法。您可以保证在请求完成之前success不会运行。这意味着您无法返回任何数据。

相反,您需要传入回调并使用异步编程。

您想要做的事情是这样的。

function myFunction(callback) {
$.ajax({
type: "POST",
url: "mypage.php",
data: "name=John&location=Boston",
success: function(data) {
callback(data);
}
});
}

myFunction(function (data) {
// do stuff.
});

PHP 看起来不错。

作为替代方案,您可能更喜欢使用 jQuery 的延迟语法。

function myFunction() {
return $.ajax({
type: "POST",
url: "mypage.php",
data: "name=John&location=Boston"
});
}

$.when(myFunction()).then(function(data) {
// handle data return
someOtherFunction(data);
}, function(error) {
// handle ajax error.
});

关于jquery - 从ajax响应创建var,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5942383/

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