jQuery ajax调用在本地主机上有效,但在实时服务器上无效

布雷特

我整天都在研究这个问题,这似乎是一个常见的问题,但是我找不到解决方案。

我正在使用jquery的$.ajax()函数进行服务调用,以更新数据库中的某些值。它在localhost上运行良好,但是在实际服务器上,控制台窗口中出现500 Internal Server Error。

我的客户端代码如下:

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'.

用谷歌搜索了此消息,这使我想到了这个堆栈溢出问题,似乎就像将其添加到配置文件的systen.web部分中一样简单:

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

jQuery宽度未在服务器上设置,但在本地主机上设置正确

来自分类Dev

jQuery Ajax在本地主机上工作,但拒绝在服务器上工作

来自分类Dev

带有jQuery,Ajax和PHP的投票系统仅在本地服务器上有效

来自分类Dev

在WAMP本地主机上有效但在WebServer上无效的PHP代码

来自分类Dev

MySql连接查询在本地服务器上有效,但在实时服务器上无效

来自分类Dev

为什么jQuery脚本可以在本地主机上运行但不能在Web服务器上运行?

来自分类Dev

jQuery UI Datepicker在<input>上有效,但在<h:inputText>上无效

来自分类Dev

Rails jQuery在localhost上有效,但在heroku上无效

来自分类Dev

jQuery .print()在窗口上有效,但在元素上无效

来自分类Dev

jQuery UI Datepicker在<input>上有效,但在<h:inputText>上无效

来自分类Dev

HMVC Codeigniter在本地服务器上有效,但在Web服务器上无效

来自分类Dev

令牌解密RSA在localhost上有效,但在服务器上无效

来自分类Dev

MySQL连接在Localhost上有效,但在Web服务器上无效

来自分类Dev

@ font-face在本地服务器上有效,但在生产服务器上无效-如何调试?

来自分类Dev

@ font-face在本地服务器上有效,但在生产服务器上无效-如何调试?

来自分类Dev

PHP将JSON返回JSON到Ajax仅在本地主机上有效

来自分类Dev

Rails:jQuery在localhost上有效,但在heroku上不可用

来自分类Dev

MVC&jQuery Validate,本地主机与实时主机上不同的HTML输出

来自分类Dev

JS Ajax请求在本地主机上产生错误,但在Web服务器上不产生错误

来自分类Dev

代码在本地计算机上有效,但在IIS上无效

来自分类Dev

即使服务器响应为具有有效JSON数据的HTTP 200,JQuery Ajax调用也将变为.fail

来自分类Dev

即使服务器响应为具有有效JSON数据的HTTP 200,JQuery Ajax调用也将变为.fail

来自分类Dev

在WAMP本地主机上有效但在WebServer上不起作用的PHP代码

来自分类Dev

pathinfo()在本地主机上运行,但不在实时服务器上运行

来自分类Dev

SP 在本地主机上工作,但不在实时服务器上

来自分类Dev

phpmailer在本地主机上工作正常,但在服务器上无法正常工作

来自分类Dev

Magento RESTAPI restconnect在本地主机上工作,但在服务器上不工作

来自分类Dev

AJAX在jQuery中有效,但在香草JS中无效

来自分类Dev

为什么此代码在我的测试服务器上有效,但在jsfiddle上无效?

Related 相关文章

  1. 1

    jQuery宽度未在服务器上设置,但在本地主机上设置正确

  2. 2

    jQuery Ajax在本地主机上工作,但拒绝在服务器上工作

  3. 3

    带有jQuery,Ajax和PHP的投票系统仅在本地服务器上有效

  4. 4

    在WAMP本地主机上有效但在WebServer上无效的PHP代码

  5. 5

    MySql连接查询在本地服务器上有效,但在实时服务器上无效

  6. 6

    为什么jQuery脚本可以在本地主机上运行但不能在Web服务器上运行?

  7. 7

    jQuery UI Datepicker在<input>上有效,但在<h:inputText>上无效

  8. 8

    Rails jQuery在localhost上有效,但在heroku上无效

  9. 9

    jQuery .print()在窗口上有效,但在元素上无效

  10. 10

    jQuery UI Datepicker在<input>上有效,但在<h:inputText>上无效

  11. 11

    HMVC Codeigniter在本地服务器上有效,但在Web服务器上无效

  12. 12

    令牌解密RSA在localhost上有效,但在服务器上无效

  13. 13

    MySQL连接在Localhost上有效,但在Web服务器上无效

  14. 14

    @ font-face在本地服务器上有效,但在生产服务器上无效-如何调试?

  15. 15

    @ font-face在本地服务器上有效,但在生产服务器上无效-如何调试?

  16. 16

    PHP将JSON返回JSON到Ajax仅在本地主机上有效

  17. 17

    Rails:jQuery在localhost上有效,但在heroku上不可用

  18. 18

    MVC&jQuery Validate,本地主机与实时主机上不同的HTML输出

  19. 19

    JS Ajax请求在本地主机上产生错误,但在Web服务器上不产生错误

  20. 20

    代码在本地计算机上有效,但在IIS上无效

  21. 21

    即使服务器响应为具有有效JSON数据的HTTP 200,JQuery Ajax调用也将变为.fail

  22. 22

    即使服务器响应为具有有效JSON数据的HTTP 200,JQuery Ajax调用也将变为.fail

  23. 23

    在WAMP本地主机上有效但在WebServer上不起作用的PHP代码

  24. 24

    pathinfo()在本地主机上运行,但不在实时服务器上运行

  25. 25

    SP 在本地主机上工作,但不在实时服务器上

  26. 26

    phpmailer在本地主机上工作正常,但在服务器上无法正常工作

  27. 27

    Magento RESTAPI restconnect在本地主机上工作,但在服务器上不工作

  28. 28

    AJAX在jQuery中有效,但在香草JS中无效

  29. 29

    为什么此代码在我的测试服务器上有效,但在jsfiddle上无效?

热门标签

归档