Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Ajax调用不识别URL_C#_Ajax_Asp.net Mvc_Razor Pages - Fatal编程技术网

C# Ajax调用不识别URL

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); } }); } $(“

我正在尝试在我的Razor页面中进行ajax调用。现在,我的控制器方法应该返回字符串“ajaxreturn”,然后将其呈现到适当的div标记。这只是一个测试。我无法让ajax调用在代码隐藏中命中我的方法。提前感谢您的任何意见

阿贾克斯:

功能测试(){
$.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);
        }