【问题标题】:XMLRPC call from jQuery or JavaScript来自 jQuery 或 JavaScript 的 XMLRPC 调用
【发布时间】:2011-08-18 11:56:25
【问题描述】:

我有一个 HTML 文件,其中包含一些 javascript。它不在任何服务器中。我的桌面上有那个文件。我已启用服务模块并希望从 HTML 文件中执行操作。

$.post(
"http://example.com/services/xmlrpc",
{methodName: node.load; nid: 1},
function(data){
alert("Data: " + data);
}
);

现在,据我所知,它会起作用。但是,当我在我的安卓手机中放置(上传)相同的 HTML 文件时,它会起作用吗??

请对此有所启发!

谢谢

【问题讨论】:

  • 这里提问之前为什么没有尝试上传到安卓手机运行?
  • 好吧,我没有安卓手机。今天晚上我会尝试检查我朋友的电话。无论如何,我从我的桌面检查代码,它不起作用。数据是一个对象..如何在警报中打印?
  • 同意。我没有看到任何可疑的东西,AFAIK JS 在 Android 手机上运行良好(在适当的浏览器中 - 已经是默认浏览器了)。因此,将 HTML 文件移动到您的手机并尝试一下...

标签: php javascript jquery android xml-rpc


【解决方案1】:

如果响应是一个对象 - 我建议在 Firefox 和控制台选项卡中使用 Firebug 扩展,您可以在其中看到响应的样子(我想它将被编码为 JSON) - 它应该看起来像 {"property":"value", "property2":"value2", ...}。然后你可以访问像

这样的属性
$.post(
    "http://example.com/services/xmlrpc",
        {methodName: node.load; nid: 1},
        function(data){
            alert("Property 1: " + data.property);
        }
);

【讨论】:

  • 感谢您的回答。我理解这部分。不幸的是,我仍在为代码苦苦挣扎。无论如何,我最大的疑问是,您不能从 AJAX 进行跨域调用。就像,如果页面从 www.abcd.com 加载,您不能对 www.efgh.com 进行 ajax 调用 ------ 同样的事情适用于 XML-RPC(我们在这里讨论的那个)??? ?
  • 如果这是问题所在,并且您想在不同的域上调用 XML-RPC 程序,请使用您的 AJAX 调用的自己的 PHP 脚本,该脚本将调用跨域 XML-RPC 程序例如,使用 CURL 或 get_file_contents(URL)... 使用 PHP(或其他服务器端编程语言)您可以在不同的域上调用 Web 服务(这就是 Web 服务存在的原因 :-))。
  • 好的,我明白 :) 现在,客户端浏览器检测到请求是跨域的还是不是来自原始域(在上面的示例中,它的 www.abcd.com)。但是,如果从本地设备打开 html 文件(不访问任何 URL)怎么办?是的,虽然会有文件路径....
  • 是的,这会给我们带来问题 - 你不能在 android 上运行 PHP 脚本(AFAIK,或者你可以吗?),所以这仅适用于一些拥有自己的域并通过 webbrowser 访问的虚拟主机(无论是从 PC 或移动设备)... 或者对于 Android 您可以构建一个应用程序(在 Java 中)来代替 JS... :-)
  • hmm.. 经过这么多讨论,我们又回到了同一点!它不会工作..基本上我正在制作一个可以下载(从android市场)并安装在设备中的android应用程序(jquerymobile)。因此,当我的 javascript 在手机上运行时,无法对不同的服务器进行 XML-RPC 调用。还有其他想法/解决方案吗?
猜你喜欢
  • 2014-03-27
  • 1970-01-01
  • 1970-01-01
  • 2012-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多