Сервисы Drupal XML-RPC доступ из JavaScript - PullRequest
1 голос
/ 04 мая 2011

Я пытаюсь получить доступ к XML-RPC моей локальной установки drupal из javascript.Вот код:

$.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_root/sms2/test.html

'sms2' устанавливается из файла / etc / hosts.

Это ответ, который я получаю:

enter image description here

может кто-нибудь сказать мнечто происходит?Я испробовал почти все возможные варианты, но безрезультатно ..

Вкладка POST: enter image description here

Работает нормально с экрана администратора XML-RPC!enter image description here

Спасибо

1 Ответ

1 голос
/ 05 мая 2011

Как показано на скриншоте вашей вкладки POST, вы не размещаете данные в формате, ожидаемом для вызова XML-RPC.Поэтому, когда обработчик XML-RPC служб пытается прочитать ваши данные, он завершается неудачно с возвращенной ошибкой.

Та же ошибка обсуждается на http://groups.drupal.org/node/6823#comment-478604 с возможным решением.

Есливы только строите клиент JavaScript, вам не нужно использовать бэкэнд XML-RPC для сервисов.Службы 3.x (бета) предоставляют бэкэнд REST, поддерживающий как XML, так и JSON.Для более ранних выпусков с бэкэндом JSON , JSON-RPC и REST должно быть проще работать.

Конечно, вы можететакже используйте библиотеку JavaScript XML-RPC (совместим с jQuery).

...