[英]Angular $http.post() reach server but not alert anything in .success
我對角度代碼有一點問題。 我使用$ http.post將數據發送到php文件。 該php文件將數據保存到數據庫中。 您可以在下面看到我的控制器:
app.controller('send_data', function($scope, $http) {
$http.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8';
$scope.data1 = "hello";
$scope.data2 = "world";
$scope.test_func = function() {
data = {
'data1' : $scope.data1,
'data2' : $scope.data2
};
$http.post('server/file.php', data)
.success(function()
{
alert("Success");
console.log('success');
})
.error(function()
{
console.log('error');
});
}
});
我使用ng-click從按鈕調用test_func。 我可以看到數據已保存到數據庫中,但是沒有出現帶有消息“成功”的彈出窗口。 到底是怎么回事?
先感謝您,
約翰
最終,我發現了問題所在,這是服務器端被遺忘的“回聲”。 刪除它,現在一切正常。
謝謝大家的幫助!
因此,上面的代碼可以正常工作,您還可以看到下面的php代碼:
<?php
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
function mysql_con()
{
$servername = "localhost";
$username = "user";
$password = "admin";
// Create connection
$conn = new mysqli($servername, $username, $password);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//echo "Connected successfully";
return $conn;
}
$conn = mysql_con();
$postdata = file_get_contents("php://input");
$request = json_decode($postdata);
$data1 = $request->data1;
$data2 = $request->data2;
$sql = "INSERT INTO ext_db.test (data1, data2) VALUES ('".$data1."', '".$data2."')";
if ($conn->query($sql) === TRUE) {
//echo "New record created successfully";
$data = array('success' => true);
echo json_encode($data);
} else {
//echo "Error: " . $sql . "<br>" . $conn->error;
$data = array('success' => false);
echo json_encode($data);
}
$conn->close();
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.