0

我正在研究 asp.net AJAX 服务,其中一种方法是“更新数据库”。

当我在本地 IIS 上测试网站时没有出现问题。但是当我上传到公共 IIS 时,XMLHttpRequest 总是返回 400 错误。

谁能帮我解释一下为什么会出现这个问题?我应该怎么做才能解决它?如果我的问题不够清楚,请告诉我。

这是我调用服务的代码预览,

var objFaq = {
        config : {
             isPostBack : false,
             async:false,
             cache:false,
             type :'POST',
             contentType:"application/json; charset=utf-8",
             data:'{}',
             dataType :'json',
             method:'',
             url:'',
             categoryList:"",
             ajaxCallMode:0,
             arr:[],
             arrModule:[]  ,
             baseURL: 'http://www.mywebsite.com/Service/FaqService.asmx/'
            },

        ajaxCallProduct: function(config) {
           $.ajax({
                    type: objFaq.config.type,
                    contentType: objFaq.config.contentType,
                    cache: objFaq.config.cache,
                    async: objFaq.config.async,
                    url: objFaq.config.url,
                    data: objFaq.config.data,
                    dataType: objFaq.config.dataType,
                    success: objFaq.ajaxSuccess,
                    error: objFaq.ajaxFailure                            
                  });
        },

        likeQuestion:function(id)
        {
            try
            {
                this.config.method="Like";
                this.config.url=objFaq.config.baseURL + this.config.method;
                this.config.data = JSON2.stringify({id:id});
                this.config.ajaxCallMode=1;
                this.ajaxCallProduct(this.config);
            }
            catch(e)
            {
                alert(e.message);
            }
        },

        dislikeQuestion:function(id)
        {
            try
            {
                this.config.method="Dislike";
                this.config.url=objFaq.config.baseURL + this.config.method;
                this.config.data = JSON2.stringify({id:id});
                this.config.ajaxCallMode=1;
                this.ajaxCallProduct(this.config);
            }
            catch(e)
            {
                alert(e.message);
            }
        },

        ajaxSuccess: function(data) { 
            switch (objFaq.config.ajaxCallMode) {
              case 0:
              break;    
              case 1:  
              //alert('sukes');
              break;
            }
        },
        ajaxFailure: function(xhr, status, errorThrown) {                
            switch(xhr.status)
            {
                case 400:
                    alert('400' + xhr.responseText);
                    break;
                default:
                    alert(xhr.status);
                    break;
                break;
            }
        }
    };
4

0 回答 0