2012-11-01 55 views
1

我有一个asp.met mvc 4项目。Ajax调用和Windows身份验证不能正常工作

这是我的视图代码,最小化:

@model E4.administrasjon.Models.ViewModels.vmRekv 
<form action="#" method="post" class="form label-inline" id="saveTask"> 
@Html.HiddenFor(m => m.rekv.RekvID) 
<div class="field"><label for="Subject">Titel</label><input id="Subject" value="@Model.rekv.Subject" name="Subject" size="50" type="text" class="medium" /></div> 

我然后有此javascript:

<script> 
$(document).ready(function() { 
    $('#btnSave').click(function() { 
     alert("clicked"); 
     $.ajax({ 
      url: 'http://localhost:88/API/apiRekv', 
      type: 'POST', 
      dataType: 'json', 
      data: $('form#saveTask').serialize(), 
      success: function (data) {       
       alert("OK");     
      }, 
      error: function (data) { 
       alert("Error");      
      } 
     });  
    }); 
}); 

控制器是一个简单的WebAPI控制器

public void Post(vmRekv item) 
    {   
     //Some insert to db code 
} 

inser t操作使用匿名和Windows身份验证打开/关闭。但是当我打开Windows身份验证。那么javascript成功/失败事件不会被调用。

它在Windows身份验证关闭时应该被调用。

顺便说一句,我使用本地IIS快递

回答

0

尝试使用jsonp。或者在网址的末尾添加回调。 localhost:88/API/apiRekv?callback =?

+0

我不明白使用回调。看着Fiddler时,它看起来已经回到了控制器。 – espenk

+0

我不认为小提琴手明白你的本地主机在哪里。 – 2012-11-01 14:47:52

+0

好的。我得到的数据在fiddler去agains localhost ..也是JSON调用。我会看看如果我将代码发布到常规IIS服务器,这是否会产生任何影响 – espenk