我正在编写一个应用程序,它从文本框中获取字符串并在单击按钮时调用服务器方法。但是我收到错误消息: 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");
}
});