我遇到了使用MooTool的JSONP調用Drupal node.save的問題。這是一個例子。Drupal node.save和JSONP
這裏是我的要求:
回調Request.JSONP.request_map.request_1
方法node.save
sessid 123123123123123
節點{ 「類型」: 「博客」, 「稱號」:「新標題」, 「體」: 「這是博客的身體」}
這裏是我的結果
HTTP/1.0 500內部服務器錯誤
我之前得到了這個工作,但我使用了AMFPHP,並且能夠將對象發送到drupal。我假設這與Drupal期待一個對象有關,但由於它是一個GET,它將被轉換爲一個字符串。有沒有什麼辦法避免黑客入侵代碼?
這裏是我的代碼:
$('newBlogSubmit').addEvent('click', function()
{
var node = {
type : "blog",
title:"New Title",
body :"This is the blog body"
}
var string = JSON.encode(node);
string.escapeRegExp()
var sessID = _sessID;
DrupalService.getInstance().node_save(string, sessID, drupal_handleBlogSubmit);
});
我的Drupal服務JS代碼:
//NODE
DrupalService.prototype.node_save = function(node, sessid, callback){
var dataObj = {
method : "node.save",
sessid : sessid,
node : node
}
DrupalService.getInstance().request(dataObj, callback);
}
//SEND REQUEST AND CALLBACK FUNCTION
DrupalService.prototype.request = function(dataObject, callback){
new JsonP('http://myDrupalSite.com/services/json', {data: dataObject,onComplete: callback}).request();
}
我試圖連接點,但不是太熟悉Drupal的,但我估計所有的I需要做的是將字符串變成一個對象。任何想法,我應該看看,或者如果有一個現有的補丁?