var body = JSON.stringify(params);
// Create an XMLHttpRequest 'POST' request w/ an optional callback handler
req.open('POST', '/rpc', async);
req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
req.setRequestHeader("Content-length", body.length);
req.setRequestHeader("Connection", "close");
if (async) {
req.onreadystatechange = function() {
if(req.readyState == 4 && req.status == 200) {
var response = null;
try {
response = JSON.parse(req.responseText);
} catch (e) {
response = req.responseText;
}
callback(response);
}
};
}
// Make the actual request
req.send(body);
---- на стороне сервера ----
class RPCHandler(BaseHandler):
'''@user_required'''
def post(self):
RPCmethods = ("UpdateScenario", "DeleteScenario")
logging.info(u'body ' + self.request.body)
args = simplejson.loads(self.request.body)
---- Получите следующую ошибку в теле журнала сервера% 5B% 22UpdateScenario% 22% 2C% 22c% 22% 2C% 224,5% 22% 2C% 2230frm% 22% 2C% 22Refinance% 22% 2C% 22100000% 22% 2C% 22740% 22% 2C% 2294538% 22% 2C% 2250000% 22% 2C% 22owner% 22% 2C% 22sfr% 22% 2C% 22Fremont% 22% 2C% 22CA% 22% 5D =
Нет объекта JSON, который может быть декодирован: строка 1, столбец 0 (символ 0): трассировка (последний последний вызов): Файл "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/_webapp25.py", строка 703, в вызов файл handler.post (* groups) "/ base /data / home / apps / s ~ mortgageratealert-staging / 1.357912751535215625 / main.py ", строка 418, в файле post args = json.loads (self.request.body)" / base / python_runtime / python_lib / версии / 1 / simplejson/init.py ", строка 388, в загрузках возвращает файл _default_decoder.decode (s)" /base/python_runtime/python_lib/versions/1/simplejson/decoder.py ", строка 402, в декодированном объекте, end = self.raw_decode (s, idx = _w (s, 0) .end ()) файл "/ base / python_runtime /python_lib / Version / 1 / simplejson / decoder.py ", строка 420, в raw_decode повысить JSONDecodeError (« Не может быть декодирован ни один объект JSON », s, idx) JSONDecodeError: Нельзя декодировать объект JSON: столбец 1 строки 0 (символ 0)
--- firebug показывает следующее ---
Параметры application / x-www-form-urlencoded ["UpdateScenario", "c", "4 ....
Source ["UpdateScenario", "c", "4.5", "30frm", "Refinance", "100000", "740", "94538", "50000", "owner", "sfr", "Fremont", "CA"]
На основании отчета о баг-баге, а также журналов показывает self.request.body, как и ожидалось.Как бы то ни было, загрузке simplejson это не нравится.
Пожалуйста, помогите!