C# Ajax调用不识别URL
我正在尝试在我的Razor页面中进行ajax调用。现在,我的控制器方法应该返回字符串“ajaxreturn”,然后将其呈现到适当的div标记。这只是一个测试。我无法让ajax调用在代码隐藏中命中我的方法。提前感谢您的任何意见 阿贾克斯:C# Ajax调用不识别URL,c#,ajax,asp.net-mvc,razor-pages,C#,Ajax,Asp.net Mvc,Razor Pages,我正在尝试在我的Razor页面中进行ajax调用。现在,我的控制器方法应该返回字符串“ajaxreturn”,然后将其呈现到适当的div标记。这只是一个测试。我无法让ajax调用在代码隐藏中命中我的方法。提前感谢您的任何意见 阿贾克斯: 功能测试(){ $.ajax({ 键入:“获取”, url:“@url.Action”(“AjaxThing”,“Posts”)”; 数据:“安德鲁”, 成功:功能(响应){ $(“#test”).html(response.data); } }); } $(“
功能测试(){
$.ajax({
键入:“获取”,
url:“@url.Action”(“AjaxThing”,“Posts”)”;
数据:“安德鲁”,
成功:功能(响应){
$(“#test”).html(response.data);
}
});
}
$(“点击我”)。在(“点击”,测试);
cshtml:
点击我
代码隐藏:
公共字符串AjaxThing()
{
返回“ajax返回”;
}
解决方案布局:
请使用如上所示的更改功能,它将正常工作
function test() {
$.ajax({
type: "GET",
contentType: "application/x-www-form-urlencoded; charset=utf-8",
url: '/Posts/AjaxThing',
data: 'Andrew',
success: function (response) {
result = response;
$("#test").html(response);
},
error: function () {
}
});
}
我明白了。它没有正确发布的原因是我的控制器设置错误。我没有从“Controller”继承,而是更新到了“ControllerBase”,这使文章得以通过。我还更新了ajax调用,如下所示:
$(文档).ready(函数(){
$(“#@formId按钮”)。在(“单击”上,函数(e){
var CommentVM={
PostId:parseInt($(“#@PostId”).val(),
内容:$(“#@commentId”).val()
}
$.ajax({
contentType:“应用程序/json;字符集=utf-8”,
类型:“POST”,
url:“/PostComment”,
数据:JSON.stringify(CommentVM),
数据类型:“json”,
async:true,
成功:功能(数据){
控制台日志(“成功”);
},
错误:功能(hxr、状态、错误){
控制台日志(“错误”);
}
});
e、 预防默认值();
});
});
Hmmmm。。。你根本没有调用测试
函数……噢,该死,我在《意外事故》的帖子里漏掉了一行。现在更新了。你的开发者工具日志中写了什么?url:@url.Action(“AjaxThing”,“Posts”)代码>-此语法看起来不像突出显示时看到的那个样正确。也许应该是url:@url.Action(“AjaxThing”,“Posts”)
@Xerilio我刚试过,但没有效果。嗯,所以它实际上不允许我放那个。我得到一个错误,当前上下文中不存在Json。这是因为我试图从控制器调用此方法“not”吗?我将所有这些都放在VS项目上razor page.Install-Package Newtonsoft.Json-Version 12.0.3的代码背后。它将解决Json的问题
function test() {
$.ajax({
type: "GET",
contentType: "application/x-www-form-urlencoded; charset=utf-8",
url: '/Posts/AjaxThing',
data: 'Andrew',
success: function (response) {
result = response;
$("#test").html(response);
},
error: function () {
}
});
}
[HttpGet]
public ActionResult AjaxThing()
{
return Json("ajax return", JsonRequestBehavior.AllowGet);
}