406(不可接受)当我尝试使用html模板打开ngBootbox时出错

时间:2016-12-01 21:04:18

标签: angularjs iis xmlhttprequest

我在ASP.NET中有一个带有Web Api的角度应用程序。当我在本地工作时,应用程序正确显示ngBootbox,但是当我从服务器(IIS 7.5)运行应用程序时,chrome返回406(不可接受)错误。在开发人员工具的网络选项卡中,当我尝试调用ngBootbox时,我有下一个结果:

This is the result I get when i call the ngBootbox

我已尝试过在互联网上找到的所有可能的解决方案,例如在IIS管理器中添加MIME类型,我尝试使用不同的方式调用模式窗口,但没有任何效果。

我有另一个工作正常的ngBootbox但是没有使用html模板

我还尝试使用ngDialog和$ uibModal来显示模态窗口,但是它是一样的。

我非常渴望找到解决方案,我将非常感谢你。

注意:这是我在这里的第一篇文章,我不知道我是否正确地提出了我的问题。

好的,这是我用来调用ngBootbox窗口的按钮:

<button class="btn btn-lg btn-primary"
            ng-bootbox-title="Registrar Llamada"
            ng-bootbox-custom-dialog
            ng-bootbox-custom-dialog-template="templates/calls.html"
            ng-bootbox-buttons="buttons" 
            ng-click="setClientInfo(client.Id, client.Nombre)">
            <i class="fa fa-phone"></i>
            </button>

以下是我在&#34; ng-bootbox-custom-dialog-template&#34;中使用的模板:

<div class="card" ng-controller="callController">
<div class="card-body card-padding">
    <div>
        <toaster-container toaster-options="{'time-out': 3000, 'close-button':true, 'position-class': 'toast-bottom-right'}"></toaster-container>
    </div>
    <div class="form-group" style="position:relative; top:30px; left:20px;">
        <div class="fg-line">
            <md-input-container class="md-block; col-sm-5;" flex-gt-sm>
                <label>Cliente</label>
                <input type="text" ng-model="client.ClientName" ng-disabled="true">
            </md-input-container>
        </div>

        <div class="fg-line">
            <md-input-container class="md-block; col-sm-5;" flex-gt-sm>
                <label>Fecha de Llamada</label>
                <input type="text" ng-model="date" ng-disabled="true">
            </md-input-container>
        </div>
        <div class="fg-line">
            <md-input-container class="md-block; col-sm-5;">
                <label>Observaciones</label>
                <textarea required="true" ng-model="call.Observations" md-maxlength="200" rows="4" md-select-on-focus style="width: 380px;"></textarea>
            </md-input-container>
        </div>

        <div class="form-group">
            <div>
                <button type="submit" class="btn btn-primary" ng-click="saveCall(call)" style="position:relative; top:-15px; left:05px;"><i class="fa fa-phone"></i>&nbspRegistrar Llamada</button>
            </div>
        </div>
    </div>
</div>

这是我的app.js:

var app = angular
.module('RDash', [
    'ui.bootstrap',
    'ui.router',
    'ngCookies',
    'ngMessages',
    'ngAnimate',
    'toaster',
    'ngDialog',
    'datatables',
    'datatables.buttons',
    'ngMaterial',
    'ngBootbox',
    'nvd3'
]).config(['$httpProvider', function ($httpProvider) {
$httpProvider.defaults.useXDomain = true;
delete $httpProvider.defaults.headers.common["X-Requested-With"];
$httpProvider.defaults.headers.common["Accept"] = "application/json";
$httpProvider.defaults.headers.common["Content-Type"] = "application/json";
$httpProvider.defaults.headers.post = {};
$httpProvider.defaults.headers.put = {};
$httpProvider.defaults.headers.patch = {};
$httpProvider.useApplyAsync(true);

}]);

我想我在.config中遗漏了一些东西,但我不确定......

1 个答案:

答案 0 :(得分:1)

这意味着在您的请求中,您发送的接受标头具有一些值,但服务器(API)正在以客户端无法接受的格式生成响应。例如如果您的请求包含accept标头作为application / xml,并且服务器(API)正在生成application / json类型的响应,这意味着服务器生成的响应不被客户端接受,只能以application / xml格式接受响应。检查&#34;接受&#34;的价值。你发送的标题以及api以什么格式生成响应。