submitting form triggers a JSON response from server, added more error checking closes #36
rodzic
cddba7a20e
commit
81e8fb3d38
|
@ -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:
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
Ładowanie…
Reference in New Issue