Ionic / Angular POST请求不将值传递给API Action

时间:2016-05-12 05:36:28

标签: angularjs asp.net-web-api ionic-framework

我是角度和离子的新手,所以我开始使用AngularJS创建简单的离子应用程序,但我遇到了一个问题,我尝试在谷歌上搜索但无法弄明白。

用于测试角度控制器中的硬线参数。 点击离子应用程序中的提交按钮后,它会触及API控制器中的相关操作,但数据显示为null,

如果有人可以帮助解决这个问题,我们将不胜感激,

AngularJs控制器

 $scope.savenewdansal= function(newDansal){

      $http({
          method  : 'POST',
          url     : 'http://localhost:51079/api/Dansal/SaveNewDansal',
          dataType: 'json',
          data: JSON.stringify({"MainCategory": "category1","SubCategory": "subCateMy","District": "Central","City": "Colo","date": "2000-01-01T00:00:00","Time": "2001-01-01T00:00:00","Venue": "kurudnwa","contacts": "nocon"}),
          headers : {'Content-Type': 'application/x-www-form-urlencoded'} 
     })
      .success(function(data) {
        if (data.errors) {
            console.log(data.errors.name)
        } else {
          console.log(data.message);
        }
      });

WebAPI行动

[HttpPost]
    [ActionName("SaveNewDansal")]
    public VM_NewDansal SaveDansal(VM_NewDansal newDansal)
    {

        return newDansal;
    }

模型类

 public class VM_NewDansal
{
    public string MainCategory { get; set; }
    public string SubCategory { get; set; }
    public string District { get; set; }
    public string City { get; set; }

    public string date { get; set; }
    public string Time { get; set; }
    public string Venue { get; set; }
    public string contacts { get; set; }

}

在localhost上运行的Ionic App和WebAPI服务 谢谢

1 个答案:

答案 0 :(得分:1)

在搜索了谷歌的另一篇文章后,我找到了解决问题的方法,感谢所有试图帮助我的人。

首先我改变

headers : {'Content-Type': 'application/x-www-form-urlencoded'}

headers : {'Content-Type': 'application/json'} 

然后它给了我以下错误,

XMLHttpRequest cannot load http://localhost:51079/... Response for preflight has invalid HTTP status code 405

所以弄清楚发生了错误,因为它需要启用Cross-Origin,因为我的离子应用程序和webserice都在本地主机insame机器上运行,但是在不同的端口。

所以,如果有人想启用CORS,请检查以下链接

link

否则在Internet Explorer中检查它,在比较来源时不考虑端口。

感谢