我正在採取角度的第一步,並打破了我的頭兩個東西。 第一個是我不能從視圖傳遞變量到http.post調用。使用AngularJS和PHP將變量從視圖傳遞到http post使用AngularJS和PHP
在這個index.html的ng-click
傳遞正確的價值觀
:
<tbody>
<tr ng-repeat="data in filtered = (list | filter:search | orderBy : predicate :reverse) | startFrom:(currentPage-1)*entryLimit | limitTo:entryLimit">
<td><a href="{{data.link}}" target="_blank">{{data.songName}}</td>
<td>{{data.artist}}</td>
<td><a ng-click="deleteSong(data.songName, data.artist, data.link)"><i class="glyphicon glyphicon-trash"></i></a></td>
</tr>
</tbody>
和app.js的deleSong功能如下:
$scope.deleteSong = function($songName, $artist, $link) {
// Posting data to php file
$http({
method : 'POST',
url : 'ajax/deleteSong.php',
data : $scope.data, //forms user object
headers : {'Content-Type': 'application/x-www-form-urlencoded'}
})
.success(function(data) {
if (data.errors) {
// Showing errors.
$scope.errorSong= data.errors.song;
$scope.errorArtist= data.errors.artist;
$scope.errorLink= data.errors.link;
} else {
$scope.message = data.message;
}
});
$scope.user = null
}
最後,deleteSong.php看起來是這樣的:
<?php
include('../includes/config.php');
$errors = array();
$data = array();
// Getting posted data and decodeing json
$_POST = json_decode(file_get_contents('php://input'), true);
$song = $_POST['song'];
$query="DELETE FROM songs WHERE songName = '$song'";
$mysqli->set_charset('utf8mb4');
$result = $mysqli->query($query) or die($mysqli->error.__LINE__);
echo $query;
?>
當我點擊刪除歌曲圖標,該函數被調用但我得到的迴應是這樣的:
DELETE FROM songs WHERE songName = ''
任何想法,我缺少什麼和爲什麼查詢沒有得到我傳遞給deleteSong.php
數據?
print_r($ _ POST)的輸出是什麼; ? –
我試着檢查,但它是空的... –
我會檢查由POST請求角度正在使用瀏覽器檢查工具發送的數據。 – namelivia