Drupal Json Post من PhoneGap
سؤال
أحاول إرسال طلب منشور إلى وحدة Drupal's Services Module & JSON_Server ، ومع ذلك أحصل
{"#error": true ، "#data": "طريقة غير صالحة"}
نظرًا لأن PhoneGap تقوم بتشغيل ملفات HTML من محليًا على الهاتف ، في حالة حاجة إلى القلق بشأن JSONP. المشكلة التي أمتلكها هي أنه يجب علي نشر البيانات ، ولا يسمح JSONP فقط بالوصول. أي أفكار ستكون مفيدة. شكرًا!
//SEND REQUEST AND CALLBACK FUNCTION var req; DrupalService.prototype.request = function(dataObject, callback){ req = false; var url = DRUPAL_JSON_URL; var params = "data="+dataObject; 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) { console.log(">> "+req.responseText); } } req.open("POST", url, false); req.send(params); } }
المحلول
لذلك اكتشفت ذلك ، كان له علاقة بأنواع المحتوى المتضاربة
تأكد من تعيينه كـ
نوع المحتوى = التطبيق/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);
}
}
لا تنتمي إلى StackOverflow