gpt4 book ai didi

javascript - AJAX 到 Controller 密码确认

转载 作者:行者123 更新时间:2023-11-28 01:09:25 27 4
gpt4 key购买 nike

我对 AJAX 和 MVC 都很陌生,我正在尝试进行确认交互。

我想要做的是显示一个框,用户将输入一个值并单击提交,然后框将 AJAX POST (我认为这就是我应该使用的)到 Controller 并返回 true 或错误的。然而,我似乎无法弄清楚如何使这种交互发挥作用。

如果我运行调试,我可以看到我的值被传递到 Controller 中,但它会忽略我的 if 语句来检查字符串是否正确。除此之外,我不确定如何返回 true/false 并在 AJAX 中处理它。

这是迄今为止我的“最佳猜测”。

AJAX/JS

<script type="text/javascript">
function preloadFunc() {
var prompting = prompt("Please enter your password", "****");

if (prompting != null && prompting != null) {
$.ajax({
url: '/Admin/magicCheck',
type: 'POST',
data: {
'magic': prompting
},
success: function () {
//let page load
},
error: function () {
preloadFunc(); //re-ask
}
});
}
else {
window.location.replace("google.com"); //Pressing Cancel
}
}
window.onpaint = preloadFunc();
</script>

Controller

    [HttpPost]
public ActionResult magicCheck(string magic)
{
bool success = false;
if (magic == "poof")
{
success = true;
}
else
{
success = false;
}
return RedirectToAction("Index");
}

非常感谢所有帮助,因为我是新手!

最佳答案

阅读您帖子下面的所有评论,因为这里有很多问题,但就通信 AJAX 和返回而言:

更改 Controller 以返回 JSON,如下所示:

[HttpPost]
public ActionResult magicCheck(string magic)
{
bool success = false;
if (magic == "poof")
{
success = true;
}
else
{
success = false;
}
return Json( new { Success = success });
}

现在 Controller 正在返回 JSON,您需要更改 js 来处理它:

$.ajax({
url: '/Admin/magicCheck',
type: 'POST',
data: 'magic=' + prompting, //<-- you didn't need to send JSON for this, you'd have to change your controller if you are going to send a JSON object also... you just need this for now
success: function (resp) {
//let page load
if ( resp.Success ){
// success...
}
else{
//fail
}
},
error: function () {
preloadFunc(); //re-ask
}
});

关于javascript - AJAX 到 Controller 密码确认,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24661797/

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