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":
|
case "submitForm":
|
||||||
$pred_model = array();
|
$pred_model = array();
|
||||||
|
$json_return = array();
|
||||||
|
$json_return['valid'] = "false";
|
||||||
|
|
||||||
if ( isset($_POST['submit'])) {
|
if ( isset($_POST['submit'])) {
|
||||||
// form was submitted, let's run a pred!
|
// form was submitted, let's run a pred!
|
||||||
// first, make a model from the form data
|
// first, make a model from the form data
|
||||||
if ( !$pred_model = createModel($_POST)) {
|
if ( !$pred_model = createModel($_POST)) {
|
||||||
echo false;
|
$json_return['error'] = "Server couldn't make a model from the form data";
|
||||||
break;
|
// 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";
|
||||||
// verify the model
|
// if we have a valid model, try and make a UUID
|
||||||
if ( !verifyModel($pred_model, $software_available) ) {
|
} else if ( !$pred_model['uuid'] = makesha1hash($pred_model) ) {
|
||||||
echo false;
|
$json_return['error'] = "Couldn't make the SHA1 hash";
|
||||||
break;
|
// if all of the above worked, let's run the prediction
|
||||||
}
|
|
||||||
|
|
||||||
// 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 {
|
} else {
|
||||||
echo "The form submit function was called without any data";
|
runPred($pred_model);
|
||||||
echo false;
|
$json_return['valid'] = "true";
|
||||||
|
$json_return['uuid'] = $pred_model['uuid'];
|
||||||
|
$json_return['timestamp'] = $pred_model['timestamp'];
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
$json_return['error'] = "The form submit function was called without any data";
|
||||||
|
}
|
||||||
|
echo json_encode($json_return);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -497,20 +497,23 @@ function setupEventHandlers() {
|
||||||
$("#modelForm").ajaxForm({
|
$("#modelForm").ajaxForm({
|
||||||
url: 'ajax.php?action=submitForm',
|
url: 'ajax.php?action=submitForm',
|
||||||
type: 'POST',
|
type: 'POST',
|
||||||
|
dataType: 'json',
|
||||||
success: function(data) {
|
success: function(data) {
|
||||||
var data_split = data.split("|");
|
if ( data.valid == "false" ) {
|
||||||
if ( data_split[0] == 0 ) {
|
|
||||||
appendDebug("The server rejected the submitted form data");
|
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();
|
resetGUI();
|
||||||
} else {
|
} else if ( data.valid == "true" ) {
|
||||||
predSub();
|
predSub();
|
||||||
appendDebug("The server accepted the form data");
|
appendDebug("The server accepted the form data");
|
||||||
// update the global current_uuid variable
|
// 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("The server gave us uuid:<br>" + current_uuid);
|
||||||
appendDebug("Starting to poll for progress JSON");
|
appendDebug("Starting to poll for progress JSON");
|
||||||
handlePred(current_uuid);
|
handlePred(current_uuid);
|
||||||
|
} else {
|
||||||
|
appendDebug("data.valid was not a recognised state: " + data.valid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
Ładowanie…
Reference in New Issue