【问题标题】:Simple Phonegap application to call simple web service简单的 Phonegap 应用程序来调用简单的 Web 服务
【发布时间】:2012-07-31 13:08:38
【问题描述】:

我是Phonegap 的初学者,我用两种简单的方法在Microsoft Visual Studio 2010 中制作了一个简单的Web 服务。我想从 Android 平台的 Phonegap 应用程序调用该服务的方法。我正在使用 xui 库,该方法 xhr 对我来说非常难以理解。我已经阅读了很多关于该主题的帖子,但我不知道该怎么做。

我的网络服务链接如下所示:http://localhost/testservice/Service1.asmx

这是我的网络服务代码:

[System.Web.Script.Services.ScriptService]
public class Service1 : System.Web.Services.WebService
{

    [WebMethod]
    public string HelloWorld()
    {
        return "Hello World";
    }

    [WebMethod]
    public int Calculate(int firsNumber, int secundNumber)
    {
        return firsNumber + secundNumber;
    }
}

这是我应该测试该服务的方法:

function checkWebService() {
      var url = new "http://localhost/testservice/Service1.asmx?op=HelloWorld";
      x$('#test').xhr(url, {error: function(){alert("failed "+this.responseText)},
      callback: function(){
         alert("Success " + this.responseText);
       }
 });

我在按钮单击时调用此方法,我总是收到“成功”文本的警报,没有“响应文本”。

可能我的网址是错误的,但我不知道我想输入哪个网址。 这是给“HelloWorld”方法不带参数的,我也不知道怎么调用带参数的方法。

请提供任何帮助或解释。

【问题讨论】:

标签: android web-services cordova xui


【解决方案1】:

查看文档(我不熟悉 XUI),xhr 用于获取标准网页/JSON Web 服务,当您调用将返回 XML 肥皂响应的标准 Web 服务时(它们是 XML标签不是 HTML)。您需要解析此响应以获得您需要的结果。

一个简单的方法是更改​​您的 Web 服务以返回 JSON 响应,然后在 javascript 中使用 eval() 为您提供对象的“类型化”视图。 XUI 示例here.

如果您是新手,您可能会发现 JQuery 比 XUI 具有更大的文档/社区支持。

顺便说一句,“本地主机”是一个环回地址,基本上意味着“这台”计算机,所以即使它确实有效,它也会尝试连接到移动设备(或模拟器)上的网络服务,而不是你通常会连接的服务器通过 URL 访问。

【讨论】:

猜你喜欢
  • 2010-11-29
  • 2021-11-21
  • 1970-01-01
  • 1970-01-01
  • 2013-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-29
相关资源
最近更新 更多