Php 从javascript访问Drupal服务XML-RPC

Php 从javascript访问Drupal服务XML-RPC,php,jquery,web-services,drupal,xml-rpc,Php,Jquery,Web Services,Drupal,Xml Rpc,我正在尝试从javascript访问本地drupal安装的XML-RPC。代码如下: $.ajax({ type: "POST", url: "http://www.sms2.com/services/xmlrpc", dataType: "xml", data: {"method": "node.get", "nid": 1 }, success: function(msg) {

我正在尝试从javascript访问本地drupal安装的XML-RPC。代码如下:

$.ajax({
            type: "POST",
    url: "http://www.sms2.com/services/xmlrpc",
    dataType: "xml",
    data: {"method": "node.get",
                "nid": 1
            },
    success: function(msg) {
        //alert("data: " + msg.type );  
                    console.log("amrit");
    }
});
我的drupal索引文件位于/home/dark/web_root/sms2/index.php和 HTML文件位于/home/dark/web\u root/sms2/test.HTML中

“sms2”是从/etc/hosts文件设置的

这是我得到的回应:

谁能告诉我发生了什么事?我尝试了几乎所有可能的选择,但没有用

“发布”选项卡:

从XML-RPC管理屏幕上看,它工作正常!


谢谢

如POST选项卡的屏幕截图所示,您没有以XML-RPC调用所需的格式发布数据。因此,当服务的XML-RPC处理程序尝试读取您的数据时,它会失败并返回错误

同样的错误将在第页讨论,并给出可能的解决方案

如果您只构建JavaScript客户机,则不需要为服务使用XML-RPC后端。Services3.x(beta版)提供了一个支持XML和JSON的REST后端。对于早期版本,和后端之一应该更易于使用


当然,您也可以使用(与jQuery兼容)。

如POST选项卡的屏幕截图所示,您没有以XML-RPC调用所需的格式发布数据。因此,当服务的XML-RPC处理程序尝试读取您的数据时,它会失败并返回错误

同样的错误将在第页讨论,并给出可能的解决方案

如果您只构建JavaScript客户机,则不需要为服务使用XML-RPC后端。Services3.x(beta版)提供了一个支持XML和JSON的REST后端。对于早期版本,和后端之一应该更易于使用


当然,您也可以使用(与jQuery兼容)。

还可以显示Post选项卡-您要发送哪些数据?从
faultString
中,我猜数据的格式是XML-RPC无法区分的。。。您还可以从XML-RPC procedire中提供一些代码,其中POST数据的加载是可见的吗?好的,
.POST()
方法的问题是,它完全执行它所称的操作-它将数据发布到给定的URL。。。这意味着在给定的URL上,必须有一个脚本侦听POST数据,获取
$\u POST['method']
$\u POST['nid']
,并执行如下操作:
$method=$\u POST['method']$nid=$_POST['nid'];返回$method($nid)
echo$方法($nid)。这里的脚本是什么样子的???嗯。。。我不知道:(它附带drupal模块()我指的是上面来自Hmm的代码,如果它是面向Drupal的XML-RPC,那么首先尝试Drupal论坛会更好…我发现它是从PHP调用的-所以你可以用你的AJAX调用调用你自己的PHP脚本,然后调用XML-RPC。这里的链接是:同时显示Post选项卡-你在发送什么数据?来自
faultString
我猜数据的格式是XML-RPC无法区分的…您是否可以从XML-RPC procedire中提供一些代码,其中POST数据的加载是可见的?好的,
.POST()的问题
方法是,它完全按照它所说的那样做-它将数据发布到给定的URL…这意味着在给定的URL上必须有一个脚本来监听发布数据,获取
$\u POST['method']
$\u POST['nid']
并执行类似的操作:
$method=$\u POST['method'];$nid=$\u POST['nid'];return$method($nid);
echo$method($nid);
这里的脚本是什么样子的???嗯……我不知道:(它附带drupal模块()我指的是上面来自Hmm的代码,如果它是面向Drupal的XML-RPC,那么首先尝试Drupal论坛会更好…我发现它是从PHP调用的-所以你可以用AJAX调用你自己的PHP脚本,然后调用XML-RPC。这是链接:谢谢。如果使用的话,它是XML-RPC。但是我想使用JSON-RPC和实现跨域调用。你能帮我吗?有JSON,但不使用POST方法…谢谢。如果使用XML-RPC的话。但我想使用JSON-RPC和实现跨域调用。你能帮我吗?有JSON,但不使用POST方法。。。