Php 从javascript访问Drupal服务XML-RPC
我正在尝试从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) {
$.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方法。。。