2013-07-30 31 views
0

解決方案: 問題是我的PHP腳本中的第二個回聲。由於某種原因,它搞亂了我的東西。一旦我只留下第一個回聲,一切似乎都很好。AngularJS - HTTP POST請求獲取「SyntaxError:意外的標記{」發送JSON時

我想創建一個簡單的POST請求與一個PHP腳本的JSON對象。出於某種原因,我得到「SyntaxError:意外的令牌{」但我檢查了我的JSON,它是有效的。我不確定這裏發生了什麼事。我將不勝感激任何幫助。

app.factory('HttpRequestFactory', function($http, $q) { 
    var HttpRequestFactory = { 
    async: function() { 
     var deferred = $q.defer(); 
     var myData = {"param1":"value1","param2":"value2","param3":"value3"}; 
     var url = '/test.php'; 
     $http({ 
      url:url, 
      data : myData, 
      method : 'POST' 
     }) 
     .success(function (data, status, headers, config) { 
      deferred.resolve(data); 
     }) 
     .error(function(data, status, headers, config){ 
      deferred.reject("An error occured"); 
     }); 
     return deferred.promise; 
    } 
    }; 
    return HttpRequestFactory; 
}); 

這是我的PHP代碼。事實證明,如果我評論回聲json_encode($ _ POST);錯誤消失了。

<?php 
header('Content-Type: application/json'); 
    echo json_encode($_POST); 
    $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5); 
    echo json_encode($arr); 
?> 

回答