相关疑难解决方法(0)

AngularJs $ http.post()不发送数据

谁能告诉我为什么以下声明不会将发布数据发送到指定的网址?当我打印$ _POST时,在服务器上调用url - 我得到一个空数组.如果我在将数据添加到数据之前在控制台中打印消息 - 它会显示正确的内容.

$http.post('request-url',  { 'message' : message });
Run Code Online (Sandbox Code Playgroud)

我也尝试将数据作为字符串(具有相同的结果):

$http.post('request-url',  "message=" + message);
Run Code Online (Sandbox Code Playgroud)

当我以下列格式使用它时它似乎正在工作:

$http({
    method: 'POST',
    url: 'request-url',
    data: "message=" + message,
    headers: {'Content-Type': 'application/x-www-form-urlencoded'}
});
Run Code Online (Sandbox Code Playgroud)

但有没有办法用$ http.post()来做 - 并且我总是必须包含标题才能使它工作?我相信上面的内容类型是指定发送数据的格式,但我可以将其作为javascript对象发送吗?

post angularjs angular-http

333
推荐指数
16
解决办法
69万
查看次数

离子请求仅在Android上返回404,在Chrome中它可以正常工作

所以,我已经从离子克隆了教程app repo.我跑了

ionic start conference sidemenu
Run Code Online (Sandbox Code Playgroud)

然后我添加了一个简单的$ http.get('myserver')(我也试过了ngResources).

它在chrome上工作得很完美,我得到了所有数据但是在角度上我只有空数据和404状态在我试图做的任何请求.

注意:我尝试使用托管服务器和本地服务器.两者都在Android上失败.Server是node.js REST API.

控制台上没有打印任何内容,因此请求甚至无法到达服务器.

有没有人经历过这个或者可以告诉我如何调试使用Ionic构建的Android应用程序?

编辑1:我不知道你为什么需要它,但在这里

$http.get('http://server.com/route').success(function (data) {
            //handle success
        }).error(function (data, status) {
            // handle error
        });
Run Code Online (Sandbox Code Playgroud)

android http angularjs ionic-framework ionic

42
推荐指数
2
解决办法
4万
查看次数

Ionic + Angular - POST请求后如何避免"404 Not Found(from cache)"?

这个问题部分指向我之前的问题: Ionic + Angular POST请求返回状态404

但我无法找到有效的解决方案.

问题如下:

如果我从设备上运行的移动应用程序请求我总是得到响应404:

Request Method:POST
Status Code:404 Not Found (from cache)
Request Headersview source
Accept:application/json, text/plain, */*
Content-Type:text/plain
Origin:file://
User-Agent:Mozilla/5.0 (Linux; Android 4.4.2; Lenovo Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36
Request Payloadview source
{,…}
Run Code Online (Sandbox Code Playgroud)

但是,如果我在Chrome浏览器中使用Postman插件在桌面上尝试相同的请求,我总是得到带有我需要的数据的响应200.

我认为这是由Angular http方法引起的问题,但在之前的帖子中我注意到这不是真的.

我怎么能避免这个呢?我应该在应用程序的HTML中,在请求期间还是在服务器端(PHP)设置一些标头?

非常感谢任何建议.

编辑:

我试过通过这种方式设置cache:false:

$http({
                method : 'POST',
                url : $scope.remoteUrl,
                data: postData,
                headers: headersData,
                cache: false,
                timeout: 10000
                // success response
            })
Run Code Online (Sandbox Code Playgroud)

但没有运气.

javascript php post http-status-code-404 angularjs

28
推荐指数
2
解决办法
3万
查看次数