Visual Studio 2015 服务器端 Cordova Apache
Visual Studio 2015 Server side with Cordova Apache
我希望这个问题是具体的。
我想创建一个跨平台的移动应用程序。为此,我决定可能会使用支持 Apache Cordova 的 IDE。我决定我可能会使用 Visual Studio 2015 和 Apache Cordova 的附加工具。
我主要担心的是我在未来的应用程序中需要的服务器端连接。我想通过此应用程序访问一些 MS-SQL 表。据我了解,Apache Cordova 项目仅包含纯 JS 和 HTML。过去我使用 ASPX/ASMX 扩展来与我的数据库进行通信。有其他选择吗?或者我可以只在 Apache Cordova 项目中使用旧的 ASMX Web 服务,它仍然可以跨平台工作吗?
感谢您对此事的任何看法!
你是对的,
Apache Cordova/Phonegap projects consist only pure JS and HTML (and
CSS)
Cordova/Phonegap 只是一个包装器,它将您的页面包装在一个容器中,并提供必要的 API 来与设备的功能进行通信。
因此,与另一个 place/project 中的服务器端方法通信的唯一方法是调用 Web 服务,您可以 perform an asynchronous HTTP (Ajax) request 像这样
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
url: "http://yourSite/yourApp/YourWebService.asmx/methodName",
data: JSON.stringify({firstField: 123}),
success: function (msg) {
alert('It Works!');
},
error: function (xhr, status, error) {
alert('It does not work!');
}
});
您可能会发现跨域调用的问题,这意味着您无法从非 Web 服务域的域调用客户端上的 Web 服务。
我推荐使用a pure JavaScript CORS alternative, xDomain;我用过,它确实适用于跨域问题,它还有一个很好的例子,很好地解释了如何使用它
我希望这个问题是具体的。
我想创建一个跨平台的移动应用程序。为此,我决定可能会使用支持 Apache Cordova 的 IDE。我决定我可能会使用 Visual Studio 2015 和 Apache Cordova 的附加工具。
我主要担心的是我在未来的应用程序中需要的服务器端连接。我想通过此应用程序访问一些 MS-SQL 表。据我了解,Apache Cordova 项目仅包含纯 JS 和 HTML。过去我使用 ASPX/ASMX 扩展来与我的数据库进行通信。有其他选择吗?或者我可以只在 Apache Cordova 项目中使用旧的 ASMX Web 服务,它仍然可以跨平台工作吗?
感谢您对此事的任何看法!
你是对的,
Apache Cordova/Phonegap projects consist only pure JS and HTML (and CSS)
Cordova/Phonegap 只是一个包装器,它将您的页面包装在一个容器中,并提供必要的 API 来与设备的功能进行通信。
因此,与另一个 place/project 中的服务器端方法通信的唯一方法是调用 Web 服务,您可以 perform an asynchronous HTTP (Ajax) request 像这样
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
url: "http://yourSite/yourApp/YourWebService.asmx/methodName",
data: JSON.stringify({firstField: 123}),
success: function (msg) {
alert('It Works!');
},
error: function (xhr, status, error) {
alert('It does not work!');
}
});
您可能会发现跨域调用的问题,这意味着您无法从非 Web 服务域的域调用客户端上的 Web 服务。
我推荐使用a pure JavaScript CORS alternative, xDomain;我用过,它确实适用于跨域问题,它还有一个很好的例子,很好地解释了如何使用它