0

Drupal の Services モジュールと JSON_Server モジュールに POST リクエストを送信しようとしていますが、

{ "#error": true, "#data": "無効なメソッド" }

PhoneGap は電話でローカルから html ファイルを実行するため、JSONP について心配する必要があります。私が抱えている問題は、データを POST する必要があり、JSONP では GET しか許可されないことです。どんなアイデアでも役に立ちます。ありがとう!

//リクエストの送信とコールバック関数
var req;
DrupalService.prototype.request = function(dataObject, callback){

    必須 = 偽;

    var url = DRUPAL_JSON_URL;
    var params = "data="+dataObject;

    試す {
        req = 新しい XMLHttpRequest();
    }キャッチ(e){
        必須 = 偽;
    }

    if(必須) {
        req.onreadystatechange = function() {//状態が変化したときに関数を呼び出します。
            if(req.readyState == 4 && req.status == 200) {
                console.log(">> "+req.responseText);
            }
        }

req.open("POST", URL, false);
        req.send(params);
    }

}
4

1 に答える 1

0

だから私はそれを理解しました、それは競合するコンテンツタイプと関係がありました


Content-Type = application/x-www-form-urlencoded;として設定してください。

var DRUPAL_JSON_URL = "http://myDrupalsSite.com/services/json";

var req;
DrupalService.prototype.request = function(dataObject, callback){
    var url = DRUPAL_JSON_URL;

    req = false;


    var params = "method=system.connect"; 

    try {
        req = new XMLHttpRequest();
    } catch(e) {
        req = false;
    }

    if(req) {
        req.onreadystatechange = function() {//Call a function when the state changes.
            if(req.readyState == 4 && req.status == 200) {
                alert("test " + req.responseText)
                console.log("RESPONSE "+req.responseText);

            }
        }
        req.open("POST", url, true);
        req.setRequestHeader("Content-length", params.length);
        req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
        req.send(params);
    }
}
于 2009-11-24T23:10:18.710 に答える