调用外部 JavaScript 文件中的 C# 逻辑
调用外部 JavaScript 文件中的 C# 逻辑
这个问题已经有答案了:
我在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日
你可以不用 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 上找到更多示例。
您缺少jQuery引用文件,请从下面的链接下载并在您的HTML文件中引用它。 在src中,您需要编写您的jquery.min.js文件的路径。 如果它在与您的HTML文件相同的文件夹中,请使用以下代码