Вы отправляете данные через POST, вам не нужен символ '?'
в начале переменной params
, также я рекомендую вам кодировать JSONString, чтобы избежать проблем.
Обратите внимание, что вам не хватает оператора var
для переменной ajax
, это объявляет его глобально (window.ajax), и я думаю, что вам оно не нужно глобально ...
function runAjax(JSONstring) {
var params = "data=" + encodeURIComponent(JSONstring),
ajax = getHTTPObject();
ajax.open("POST", "createtrip.php", true);
ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
ajax.setRequestHeader("Content-length", params.length);
ajax.setRequestHeader("Connection", "close");
ajax.onreadystatechange = serverSpeaks;
ajax.send(params);
}