我有一个完全可操作的ASP.NET Webform应用程序(.aspx),它使用jQuery AJAX向服务器(CodeBehind)发送和检索数据。对于我的下一个项目,我需要重新创建这个应用程序,但使用Phonegap使其与移动和平台无关。
我尝试使用处理数据库连接的相同CodeBehind文件以及使应用程序正常工作所需的所有方法。
// File-structure
Application
App_Code
pages
Default.aspx (with codebehind)
phonegapapp
www
- index.html (with jquery AJAX calls)
...
在index.html文件中,我试图建立与Default.aspx.cs文件的连接以访问必要的函数:
// phonegapapp/www/index.html
$(function () {
$.ajax({
type: "POST",
...
url: "../../Default.aspx/testFunction",
// tried with only one ../ and going to root and follow file structure but non is working.
...
});
});
我收到错误,显示找不到该文件:
XMLHttpRequest cannot load file:///C:/Application/pages/Default.aspx.cs/testFunction. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
答案 0 :(得分:0)
您无法通过phonegap应用程序执行/访问aspx文件。只需将aspx文件放在Asp.Net支持的Web服务器(如IS)后面,然后使用相对路径加载调用ajax,如http://localhost/default.aspx,然后就可以得到响应。