如何从Phonegap应用程序调用ASP.NET Web API 2服务?

时间:2014-03-04 19:01:23

标签: javascript cordova windows-phone-8 asp.net-web-api

我是phoneGap的新手。我有一个用Web API编写的服务器。我试图通过phonegap调用我的web API 2服务器。我的Web Api 2服务器支持CROSS。我从fiddler2和几个浏览器测试它,它们工作正常。但无法通过PhoneGap提出请求。

我的HTML是:

!DOCTYPE html>
<html lang="en" ng-app="taxiConceptApp">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta name="format-detection" content="telephone=no" />
    <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
    <link rel="stylesheet" type="text/css" href="css/index.css" />
    <link href="css/bootstrap.min.css" type="text/css" rel="stylesheet" />
    <link href="css/bootstrap-theme.min.css" type="text/css" rel="stylesheet" />
    <link href="css/app.css" rel="stylesheet" />
    <title>Hello World</title>


</head>
<body>
    <script type="text/javascript" src="js/jquery-2.1.0.min.js"></script>
    <!--<div id="contnr" ng-view>
    </div>-->

    <script type="text/javascript" src="cordova.js"></script>
    <script type="text/javascript" src="js/index.js"></script>
    <script type="text/javascript">
        app.initialize();

        $.get('https://www.google.co.uk/', function (data) {
            alert(data);
        });
        $.get('http://localhost:15229/api/values', function (data) {
            alert(data);
        });

    </script>
</body>

</html>

此代码已成功从谷歌获取HTML。

$.get('https://www.google.co.uk/', function (data) {
                alert(data);
            });

但事实并非如此。

$.get('http://localhost:15229/api/values', function (data) {
                alert(data);
            });

这是我的Fiddler2输出:

enter image description here

Web Api服务器:

public class ValuesController : ApiController
  {
     // GET api/values
     public IEnumerable<string> Get()
     {
        return new string[] { "value1", "value2" };
     }
  }

我正在使用:

  • 使用Windows Phone 8 SDK的Visual Studio 2013终极版
  • PhoneGap 2.9.1

是针对Windows Phone模拟器还是我的代码?

我已经花了五天时间。

提前致谢。

0 个答案:

没有答案