我正在编写一个应用程序,它从文本框中获取字符串并在单击按钮时调用服务器方法。但是我收到错误消息: http://localhost:33655/Search/Search1 404(未找到) 检查后:我看到错误。无法加载资源。服务器响应 404。

这是我的 js 和 Controller 代码。

function look_up_term() { 
    var search = {}; 
    var Query = document.getElementById("SearchString").value; 
 
    $.ajax({ 
        type: "POST", 
        url: '/Search/Search1', 
        contentType: "application/json; charset=utf-8", 
        data: Query, 
        dataType: "json", 
        success: function (response) { 
            alert("success"); 
        }, 
        error: function (response) { 
            alert("error"); 
        } 
    }); 
}   

Controller 代码

using System; 
using System.Collections.Generic; 
using System.IO; 
using System.Linq; 
using System.Web; 
using System.Web.Mvc; 
using System.Web.Routing; 
using WebApplication1.Models; 
 
    namespace WebApplication1.Controllers 
    { 
 
        public class SearchController : Controller 
        { 
            [HttpGet] 
            public JsonResult Search1(String sLookupIds) 
            {     
                return Json(new JsonResult() 
                { 
                    Data = "Result" 
                }, JsonRequestBehavior.AllowGet); 
            } 
 
        } 
    } 

有什么想法吗?

请您参考如下方法:

首先将 [HttpGet] 替换为 [HttpPost]。

[HttpPost] 
public JsonResult Search1([FromBody]String sLookupIds) 
{ 
    ... 
} 

查询变量在 ajax 调用中保存什么?尝试发送类似

的数据
$.ajax({ 
    type: "POST", 
    url: '/Search/Search1', 
    contentType: "application/json; charset=utf-8", 
    data: JSON.stringify(Query), 
    dataType: 'json', 
    success: function (response) { 
        alert("success"); 
    }, 
    error: function (response) { 
        alert("error"); 
    } 
}); 


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!