调用外部 JavaScript 文件中的 C# 逻辑

11 浏览
0 Comments

调用外部 JavaScript 文件中的 C# 逻辑

这个问题已经有答案了:

如何在没有jQuery的情况下进行AJAX调用?

我在JavaScript方面非常新,我有一个问题,我有一个外部js文件,我需要运行一些C#服务器端代码。我的外部js文件类似于:

my.login = function(parameter, callback) {
    if(someCondition)
    {
        alert("you cant progress")
    }
    else
    {
        //not importent logic
    }
}

我考虑了两种准备条件的方法之一是通过ajax调用:

$.get("locallhost:2756/myCont/MyAct?Id=" + Id + "", function(response) {
    if (!response.result) {
        alert("you cant progress");
    }

但是我会出现错误$未定义

另一个选项是像这样使用XmlHttpRequest:

var xhReq = new XMLHttpRequest();
xhReq.open("POST", "locallhost:2756/myCont/MyAct?Id=" + Id + "", true);
xhReq.send(Id);
var res = xhReq.response;
var stat= XMLHttpRequest.status;
var resText= xhReq.responseText;

但我什么也没有在resText中,它是“”,我的控制器和操作也是这样:

public class myContController : Controller
{      
    [HttpPost]
    public JsonResult MyAct(string Id)
    {
        if (Logic.ValidateId(Id))
        {
            return Json(new { result = true });
        };
        return Json(new { result = false });
    }
}

我想要做的就是验证C#中的某些内容并将结果返回到JavaScript中是否可以,如果有其他方法,你能否帮助我?

编辑:

我知道我可以在HTML文件中引用JQuery来避免$未定义,但这是外部的js文件,其他人可以使用它,他们不在我的项目中。我需要对那个外部js做些事情

admin 更改状态以发布 2023年5月23日
0
0 Comments

你可以不用 jQuery 进行 AJAX 请求。你所需要做的便是修复你的 XMLHttpRequest 的使用方法:

function reqListener() {
    console.log(this.responseText);
};
function errListener() {
    console.log(this.responseText);
};
var xhReq = new XMLHttpRequest();
xhReq.addEventListener("load", reqListener);
xhReq.addEventListener("error", errListener); // this works for errors
xhReq.open("POST", "locallhost:2756/myCont/MyAct?Id=" + Id + "", true);
xhReq.send(Id);

此外,你还可以添加其他的回调函数。

你可以在 MDN 上找到更多示例。

0
0 Comments

您缺少jQuery引用文件,请从下面的链接下载并在您的HTML文件中引用它。 在src中,您需要编写您的jquery.min.js文件的路径。 如果它在与您的HTML文件相同的文件夹中,请使用以下代码

   

链接: http://jquery.com/download/

0