[英]Pass a JavaScript function with PHP after AJAX call is done
我正在做的是检查数据库中的用户状态。
PHP页面将状态回传给ajax调用,并根据状态执行功能。
这很好。 我知道我可以使用json,但现在就可以了。 我想要的不是回显用户状态,而是回显应执行的功能,并在ajax完成后执行它。
我的jQuery / ajax代码:
function checkstatus() {
$.ajax({
type: "GET",
url: "./query/checkstatus.php",
data: {}
}).done(function(result) {
if (result == "nieuw") {
loadHomeNieuw();
};
if (result == "actief") {
loadHome();
};
});
}
我想要但不起作用。 jQuery / ajax代码:
function checkstatus() {
$.ajax({
type: "GET",
url: "./query/checkstatus.php",
data: {}
}).done(function(result) {
});
}
PHP代码(无效):
if ($status == "nieuw") {
echo "loadHomeNieuw();";
}
if ($status == "actief") {
echo "loadHome();";
}
这有可能吗? 我问的原因是,我觉得它更安全。 可能会以用户身份入侵状态...以便他可以更改它并调用了错误的功能。 如果我在服务器端执行此操作,则会更安全。
还是有更好的选择?
你可以打电话给eval
function checkstatus() {
$.ajax({
type: "GET",
url: "./query/checkstatus.php",
data: {}
}).done(function(result) {
eval(result);
});
}
但是有些人说这很邪恶,因此您可以返回一个名称并执行一个具有该名称的函数:
function checkstatus() {
$.ajax({
type: "GET",
url: "./query/checkstatus.php",
data: {}
}).done(function(result) {
window[result]();
});
}
在PHP中只是回显名称
if ($status == "nieuw") {
echo "loadHomeNieuw";
} else if ($status == "actief") {
echo "loadHome";
}
您正在寻找的叫做GetScript: http : //api.jquery.com/jQuery.getScript/
这将执行返回的代码。 编码 :
$.getScript("./query/checkstatus.php");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.