Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript $http.post未到达服务器_Javascript_Ajax_Angularjs - Fatal编程技术网

Javascript $http.post未到达服务器

Javascript $http.post未到达服务器,javascript,ajax,angularjs,Javascript,Ajax,Angularjs,我在启动$http.post时遇到问题: app.controller('editPageController', function($scope, $routeParams, $http) { $scope.page = $routeParams.pageid; // get page data from server $http.get('/pages/' + $scope.page). success(function(data, status,

我在启动$http.post时遇到问题:

app.controller('editPageController', function($scope, $routeParams, $http) {

    $scope.page = $routeParams.pageid;

    // get page data from server
    $http.get('/pages/' + $scope.page).
        success(function(data, status, headers, config) {
            $scope.Name = data[0].name;
            $scope.Content = data[0].content;
            $scope.Location = data[0].location;
        }).
        error(function(data, status, headers, config) {
            alert("Can't get the page from the server");
        });

    // save page data on the server
    $scope.saveEditPage = function() {

        var postOBject = {Name: $scope.Name, Content: $scope.Content, Location: $scope.Location};
        $http.post('/pages/' + $scope.page + '/edit', postObject).
            success(function(data, status, headers, config) {
                alert("success");
            }).
            error(function(data, status, headers, config) {
                alert("Can't edit the page on the server");
            });
    };

});
模板代码:

<script type="text/ng-template" id="editPage.html">
    <h1>Edit page:</h1>
    <form ng-submit="saveEditPage()">
    <p>Name:</p>
    <input type="text" ng-model="Name" value="{{Name}}">
    <p>Content:</p>
    <textarea ng-model="Content">{{Content}}</textarea>
    <p>Location:</p>
    <input type="text" ng-model="Location" value="{{Location}}">
    <p><input type="submit" value="Save"> <input type="button" value="Cancel" ng-click="$back()"></p>
</form>

编辑页面:
姓名:

内容:

{{Content}} 地点:

不幸的是,$http.post没有启动。我试着将post调用包装在$scope.$apply周围,但也不起作用

我怎样才能解决这个问题

谢谢


编辑:修复了JavaScript变量名区分大小写的问题。您已声明了
postOBject
,但正在传递
postOBject

ReferenceError:未定义postObject

如果我纠正了输入错误,它对我来说就像预期的那样工作


顺便说一句,我建议使用带有静态分析的IDE——它会立即通知您未定义的变量。此外,Firebug或Chrome DevTools javascript控制台对于javascript开发几乎是绝对必要的。

您在哪里调用
saveEditPage
函数?请您也将模板的这一部分添加到问题中好吗?saveEditPage由表单提交时的模板调用。该函数调用正确,但post本身未触发。我添加了模板代码。哇,真不敢相信这么小的打字错误会造成这么大的麻烦。但现在错误被解雇了,而不是成功。这可能是一个帖子标题问题吗?嗯,这可能是任何问题,例如,你的url可能是错误的。只需打开开发控制台,在Chrome/FF中查看HTTP结果-Crtl+Shift+I,然后打开Network选项卡。