400(错误请求)JQuery自动完成WebMethod调用
本文关键字:WebMethod 调用 JQuery 错误 请求 | 更新日期: 2023-09-27 18:12:40
当我尝试为JQuery自动完成调用这个WebMethod时,我遇到了一个400(错误的请求)。我尝试了其他职位的解决方案,但他们似乎没有工作。这是我的代码。webmethod应该不接受任何参数,并从同一目录下的csv文件返回JSON字符串。我试过做很多事情来防止得到这个错误,但似乎没有工作。
c#using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Web.Script.Serialization;
using System.Web.Services;
namespace WebApplication2
{
[System.Web.Script.Services.ScriptService]
public partial class _Default : System.Web.Services.WebService
{
protected void Page_Load(object sender, EventArgs e)
{
}
[WebMethod]
public static string getJSON()
{
string jsonString = "";
// Read in file from a server side csv file.
String[] values = File.ReadAllText(@"EmployeeData.csv").Split(',', ''n');
int i = values.Length / 5;
Person[] Employees = new Person[i-1];
// Make list of employees and add their data from the csv file.
for (int k = 1; k < i; ++k)
{
string first = values[k * 5 + 1];
string last = values[k * 5];
string preferred = values[k * 5 + 2];
string position = values[k * 5 + 3];
string location = values[k * 5 + 4];
Person Person1 = new Person(first, last, preferred, position, location);
Employees[k-1] = Person1;
}
var javaScriptSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
jsonString = javaScriptSerializer.Serialize(Employees);
return jsonString;
}
}
}
JQuery function searchName() {
$('#nameSearch').autocomplete({
source: function (request, response) {
$.ajax({
type: 'POST',
url: '<%= ResolveUrl("Default.aspx/getJSON") %>',
data: JSON.stringify({}),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
console.log(data);
response(data);
},
error: function() {
alert('Something went wrong.');
}
});
},
});
}
请尝试
data: '{}',
代替
data: JSON.stringify({}),