I have a little issue with my angularjs script. I'm trying to post data to server (PHP script which saves values to database). It works correctly in Chrome, Mozilla, Opera and each other but totally not in IE. I tried IE9, 10 and also 11 (all without add-ons)and still can't figure it out. In IE my angularjs posts only empty JSON (something like {}).
Here's my angularjs POST script.
$scope.submitForm = function() {
// Posting data to php file
$http({
method : 'POST',
url : 'ajax/newInvoice.php',
data : $scope.invoice, //forms user object
headers : {'Content-Type': 'application/x-www-form-urlencoded'}
})
.success(function(data) {
getInvoices();
$scope.invoice = {items: [{qty: 1,description: '',cost: 0,taxPerc: 21}],odberatel: '',konecny_prijemce: '',datum_objednavky: new Date(),datum_vystaveni: new Date(),datum_splatnosti: new Date(),datum_zdanitelneho_plneni: new Date(),zpusob_uhrady: 'Platba kartou',dodaci_metoda: 'Osobní odběr'};
});
};
And here's PHP.
<?php
require_once '../includes/db.php'; // The mysql database connection script
$created = date("Y-m-d H:i:s", strtotime("now"));
$query = "SELECT id FROM ang_faktury ORDER BY id DESC";
$result = $mysqli->query($query) or die($mysqli->error.__LINE__);
$row = $result->fetch_assoc();
$last_invoice_id = intval($row["id"]);
$year = date("Y");
$month = date("m");
$idString = str_pad(($last_invoice_id + 1), 5, '0', STR_PAD_LEFT);//id faktury ang_faktury[id], ang_faktury_polozky[id_faktury]
$faCislo = 'OB/'.$year.'/'.$month.'/'.$idString; //cislo faktury ang_faktury[cislo_faktury]
$_POST = json_decode(file_get_contents('php://input'), true);
$dzp = $_POST['datum_zdanitelneho_plneni'];
$datum_zdanitelneho_plneni = substr($dzp, 0, 10);
$dzpForm = date("d.m.Y", strtotime($datum_zdanitelneho_plneni));
$do = $_POST['datum_objednavky'];
$datum_objednavky = substr($do, 0, 10);
$doForm = date("d.m.Y", strtotime($datum_objednavky));
$dv = $_POST['datum_vystaveni'];
$datum_vystaveni = substr($dv, 0, 10);
$dvForm = date("d.m.Y", strtotime($datum_vystaveni));
$ds = $_POST['datum_splatnosti'];
$datum_splatnosti = substr($ds, 0, 10);
$dsForm = date("d.m.Y", strtotime($datum_splatnosti));
foreach($_POST['items'] as $item){
$sumPriceTotal += $item['priceTotal'];
$query2="insert into ang_faktury_polozky (id_faktury,name,cena,ks,dph_proc,dph,total) values('$idString','$item[description]','$item[mjPrice]','$item[qty]','$item[taxPerc]','$item[taxSum]','$item[priceTotal]')";
$mysqli->query($query2);
}
$spt = "{$sumPriceTotal}";
$cbd = (($spt*100)/121);
$dph = $spt - $cbd;
$query3="insert into ang_faktury (id,created_at,cislo_faktury,datum_zdanitelneho_plneni,odberatel,konecny_prijemce,zpusob_uhrady,dodaci_metoda,cislo_objednavky,datum_objednavky,datum_vystaveni,datum_splatnosti,cena_bez_dph,dph,celkem_k_uhrade) values('$idString','$created','$faCislo','$dzpForm','$_POST[odberatel]','$_POST[konecny_prijemce]','$_POST[zpusob_uhrady]','$_POST[dodaci_metoda]','$faCislo','$doForm','$dvForm','$dsForm','$cbd','$dph','$spt')";
$mysqli->query($query3);
mysqli_close($mysqli);
?>
Thanks for any advise.