submitting form triggers a JSON response from server, added more error checking closes #36

pull/73/head
jonsowman 2010-06-11 14:37:17 +01:00
rodzic cddba7a20e
commit 81e8fb3d38
2 zmienionych plików z 25 dodań i 22 usunięć

Wyświetl plik

@ -73,31 +73,31 @@ case "getModelByUUID":
case "submitForm":
$pred_model = array();
$json_return = array();
$json_return['valid'] = "false";
if ( isset($_POST['submit'])) {
// form was submitted, let's run a pred!
// first, make a model from the form data
if ( !$pred_model = createModel($_POST)) {
echo false;
break;
$json_return['error'] = "Server couldn't make a model from the form data";
// if that worked, make sure the model is valid
} else if ( !verifyModel($pred_model, $software_available) ) {
$json_return['error'] = "The server said the model it made was invalid";
// if we have a valid model, try and make a UUID
} else if ( !$pred_model['uuid'] = makesha1hash($pred_model) ) {
$json_return['error'] = "Couldn't make the SHA1 hash";
// if all of the above worked, let's run the prediction
} else {
runPred($pred_model);
$json_return['valid'] = "true";
$json_return['uuid'] = $pred_model['uuid'];
$json_return['timestamp'] = $pred_model['timestamp'];
}
// verify the model
if ( !verifyModel($pred_model, $software_available) ) {
echo false;
break;
}
// make a sha1 hash of the model for uuid
$pred_model['uuid'] = makesha1hash($pred_model);
// now we have a populated model, run the predictor
runPred($pred_model);
echo true . "|" . $pred_model['uuid'] . "|" . $pred_model['timestamp'];
} else {
echo "The form submit function was called without any data";
echo false;
$json_return['error'] = "The form submit function was called without any data";
}
echo json_encode($json_return);
break;
default:

Wyświetl plik

@ -497,20 +497,23 @@ function setupEventHandlers() {
$("#modelForm").ajaxForm({
url: 'ajax.php?action=submitForm',
type: 'POST',
dataType: 'json',
success: function(data) {
var data_split = data.split("|");
if ( data_split[0] == 0 ) {
if ( data.valid == "false" ) {
appendDebug("The server rejected the submitted form data");
throwError("The server rejected the submitted form data");
throwError("The server rejected the submitted form data: \n" +
data.error);
resetGUI();
} else {
} else if ( data.valid == "true" ) {
predSub();
appendDebug("The server accepted the form data");
// update the global current_uuid variable
current_uuid = data_split[1];
current_uuid = data.uuid;
appendDebug("The server gave us uuid:<br>" + current_uuid);
appendDebug("Starting to poll for progress JSON");
handlePred(current_uuid);
} else {
appendDebug("data.valid was not a recognised state: " + data.valid);
}
}
});