我正在编写一个应用程序,它从文本框中获取一个字符串,并在按钮单击时调用服务器方法。但是我得到错误说: http://localhost:33655/Search/Search1 404(未找到) 检查:我看到错误。无法加载资源。服务器以404响应。
这是我的js和控制器代码。
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");
}
});
}
控制器代码
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);
}
}
}
有什么想法?
答案 0 :(得分:1)
首先用[HttpPost]替换[HttpGet]。
[HttpPost]
public JsonResult Search1([FromBody]String sLookupIds)
{
...
}
您的ajax调用中Query变量的含义是什么?尝试发送
等数据$.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");
}
});