gpt4 book ai didi

c# - jquery ajax 调用适用于本地主机,但不适用于实时服务器

转载 作者:行者123 更新时间:2023-11-29 19:46:04 26 4
gpt4 key购买 nike

我已经研究了一整天这个问题,这似乎是一个有点普遍的问题,但我一直未能找到解决方案。

我正在使用 jquery 的 $.ajax() 函数进行服务调用,更新数据库中的某些值。它在本地主机上运行良好,但在实际服务器上,我在控制台窗口中收到 500 内部服务器错误。

我的客户端代码如下:

var param = FunctionToMakeKeyValueString();
$.ajax({
type: "POST",
url: "../Helpers/Autocomplete.asmx/OrderStatements",
data: { param: param },
clientType: "application/json; charset=utf-8",
datatype: "json",
async: true,
success: function () { ShowSuccess();},
error: function () { ShowError(); }
});

服务器端代码是:

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
[System.Web.Script.Services.ScriptService]
public class AutoComplete : System.Web.Services.WebService {

public AutoComplete () {

//Uncomment the following line if using designed components
//InitializeComponent();
}

[WebMethod]
public void OrderStatements(string param)
{
IncomeStatementService service = new IncomeStatementService();

string[] comps = param.Split(';');
foreach (string s in comps)
{
int id;
short order;
string[] pieces = s.Split(':');
if (int.TryParse(pieces[0], out id) && short.TryParse(pieces[1], out order))
{
IncomeStatement statement = service.FindBy(id);
statement.Order = order;
service.UpdateOrder(statement);
}
}
}
}

实际的asmx文件就是

 <%@ WebService Language="C#" CodeBehind="~/App_Code/AutoComplete.cs" Class="AutoComplete" %>

我确定 url 是正确的(.js 文件位于 Helpers 的同级文件夹中,其中包含 asmx),但是我是否需要在 IIS 或 web.config 文件中设置其他内容?谢谢!

最佳答案

@Mike W 的评论让我稍微查看了服务器错误日志,我发现了:

Exception type: InvalidOperationException 
Exception message: Request format is unrecognized for URL unexpectedly ending in '/OrderStatements'.

我用谷歌搜索了那条消息,它让我找到了 this stack overflow question看起来就像将它添加到我的配置文件的 systen.web 部分一样简单:

<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>

关于c# - jquery ajax 调用适用于本地主机,但不适用于实时服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19600972/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com