2

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

我的 Web 服务链接如下所示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”方法,我也不知道如何调用有参数的方法。

请提供任何帮助或解释。

4

1 回答 1

0

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

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

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

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

于 2012-09-27T11:06:27.760 回答