1. jquery 使用post进行提交,但返回的是404错误,这是什么情况呢
jquery 使用post进行提交,但返回的是404错误,那一定是找不到资源,基本上是路径不对。 其实开发ajax应用,我建议你装个firefox的firebug,或者是用chrome自带的调试工具。
2. 前端调用接口404报错
今天遇到了一个很离奇的场景,使用ajax请求后台结果 后台处理成功了页面还报了404错误。
程序员不说话,默默上代码:
JS:
[javascript] view plain
var save = function(){
$.ajax({
url: urlMap.saveOrUpdateGroupInfo,
type: 'post',
async: false,
dataType: 'json',
data: $("#groupInfo").serialize()
}).done(function(res) {
console.log(res);
if(res.success) {
}else{
bootbox.alert(res.msg);
}
});
}
后端:
[java] view plain
@RequestMapping(value = "/saveOrUpdate", method = RequestMethod.POST)
public ResponseVo saveOrUpdate(String id, String name, String parentId, String parentName, String operate){
ResponseVo result = new ResponseVo();
GroupInfo info = new GroupInfo();
Date now =new Date();
info.setUpdateTime(now);
try{
if(operate.equals("add")){
info.setParentId(Integer.parseInt(parentId));
info.setName(name);
info.setCreateTime(now);
groupInfoService.addGroup(info);
}else if (operate.equals("edit")) {
info.setId(Integer.parseInt(id));
info.setName(name);
info.setParentId(Integer.parseInt(parentId));
groupInfoService.updateGroup(info);
}else if (operate.equals("delete")) {
groupInfoService.deleteGroup(Integer.parseInt(id));
}
result.setSuccess(true);
}catch (Exception e){
log.error("operate group error."+ JsonUtil.toString(info), e);
result.setSuccess(false);
result.setMsg(e.getMessage());
}
return result;
}
}
挺奇怪吧?
经分析是请求没有返回状态码,这是因为我用的是SpringMVC框架,前后端使用JSON传递数据,因为返回的是对象,而忘记了添加
@ResponseBody
注解,所以 Spring对我的返回值进行了映射,但是映射结果又对应不到视图,所以返回了404
正常后台代码:
[java] view plain
@RequestMapping(value = "/saveOrUpdate", method = RequestMethod.POST)
@ResponseBody
public ResponseVo saveOrUpdate(String id, String name, String parentId, String parentName, String operate){
ResponseVo result = new ResponseVo();
GroupInfo info = new GroupInfo();
Date now =new Date();
info.setUpdateTime(now);
try{
if(operate.equals("add")){
info.setParentId(Integer.parseInt(parentId));
info.setName(name);
info.setCreateTime(now);
groupInfoService.addGroup(info);
}else if (operate.equals("edit")) {
info.setId(Integer.parseInt(id));
info.setName(name);
info.setParentId(Integer.parseInt(parentId));
groupInfoService.updateGroup(info);
}else if (operate.equals("delete")) {
groupInfoService.deleteGroup(Integer.parseInt(id));
}
result.setSuccess(true);
}catch (Exception e){
log.error("operate group error."+ JsonUtil.toString(info), e);
result.setSuccess(false);
result.setMsg(e.getMessage());
}
return result;
}
3. 我的wordpress里添加了一个post,然后打开那个网页就是404error,这是怎么回事啊
404 not found
未找到该网页,说明此网页已经在服务器被删除或被改名。在安全助手里添加黑名单,把这个网站的网址输入进去。不让他弹出。
404是对NOT FOUND这种错误情况的一个编码,HTTP协议的错误信息在不同软件、不同的语言描述可能不同,但是其代码是统一的,以便浏览器能够正确识别和处理。
4. C#访问https通过Post方式传输数据出错返回" 远程服务器返回错误: (404) 未找到."
HTTPS(全称:Hypertext Transfer Protocol over Secure Socket
Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容
就需要SSL。 它是一个URI
scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同
于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。
简单点说就是你所要通过程序打开的网址是通过安全协议认证的,访问需要CA办法的安全证书,在不被信任的程序非法访问时,会采取主动拒绝。所以会出现此类问题,可惜本人没有更好的建议给你,以为之前我也遇到过此类问题,采用安全协议的就放弃做了~
5. 新手求教,POST带参数请求JSON数据,怎么访问结果都是404
用ASIHTTPRequest试试,好方便的
#import "ASIHTTPRequest.h"
#import "hFile.h"
#import "AppDelegate.h"
@implementation checkLogin
+ (checkLogin *)shareInstance
{
static checkLogin *check = nil;
if (!check)
{
check = [[checkLogin alloc] init];
}
[appDelegate checkWifi];
return check;
}
- (void)checklogin:(NSString *)userName pwd:(NSString *)pwd
{
NSMutableString *string = [[NSMutableString alloc] initWithCapacity:1000];
[string appendString:KNWEBURL];
[string appendString:LOGINUSER];
[string appendString:userName];
[string appendString:LOGINPWD];
[string appendString:pwd];
[string appendString:URLEND];
NSURL *url = [NSURL URLWithString:string];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setDidFinishSelector:@selector(checkUpdateFinished:)];
[request setDidFailSelector:@selector(checkUpdateFailed:)];
[request setDelegate:self];
[[UIApplication sharedApplication] :YES];
[request startAsynchronous];
}
- (void)checkUpdateFinished:(ASIHTTPRequest *)request
{
NSLog(@"%@",request.responseString);
[[NSNotificationCenter defaultCenter] postNotificationName:CHECKLOGIN object:request.responseString];
[[UIApplication sharedApplication] :NO];
}
- (void)checkUpdateFailed:(ASIHTTPRequest *)request
{
[[UIApplication sharedApplication] :NO];
}
6. 服务器常见页面访问返回错误信息(404 500 400)表示什么意思
具体意思如下:
1、404 Not Found
请求失败,请求所希望得到的资源未被在服务器上发现。没有信息能够告诉用户这个状况到底是暂时的还是永久的。假如服务器知道情况的话,应当使用410状态码来告知旧资源因为某些内部的配置机制问题,已经永久的不可用,而且没有任何可以跳转的地址。
404这个状态码被广泛应用于当服务器不想揭示到底为何请求被拒绝或者没有其他适合的响应可用的情况下。出现这个错误的最有可能的原因是服务器端没有这个页面。
2、500 Internal Server Error
服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。一般来说,这个问题都会在服务器端的源代码出现错误时出现。
3、400 Bad Request
(1)语义有误,当前请求无法被服务器理解。除非进行修改,否则客户端不应该重复提交这个请求。
(2)请求参数有误。
(6)页面访问post接口404扩展阅读:
其他错误信息常见HTTP状态码:
401 Unauthorized
当前请求需要用户验证。该响应必须包含一个适用于被请求资源的 WWW-Authenticate 信息头用以询问用户信息。客户端可以重复提交一个包含恰当的 Authorization 头信息的请求。
如果当前请求已经包含了 Authorization 证书,那么401响应代表着服务器验证已经拒绝了那些证书。
如果401响应包含了与前一个响应相同的身份验证询问,且浏览器已经至少尝试了一次验证,那么浏览器应当向用户展示响应中包含的实体信息,因为这个实体信息中可能包含了相关诊断信息。
402 Payment Required
该状态码是为了将来可能的需求而预留的。
403 Forbidden
服务器已经理解请求,但是拒绝执行它。与401响应不同的是,身份验证并不能提供任何帮助,而且这个请求也不应该被重复提交。如果这不是一个 HEAD 请求,而且服务器希望能够讲清楚为何请求不能被执行,那么就应该在实体内描述拒绝的原因。
当然服务器也可以返回一个404响应,假如它不希望让客户端获得任何信息。
参考资料:
网络-HTTP状态码
7. HTTP 状态消息 200 302 304 403 404 500 分别表示什么
状态码【200】表示【请求成功】,一般在GET和POST请求中可以见到;
状态码【302】表示【资源临时移动】;
状态码【304】表示【所请求的资源并未修改】;
状态码【403】表示【服务器拒绝执行客户端的请求】;
状态码【404】表示【服务器找不到客户端所请求的资源(网页)】;
状态码【500】表示【服务器内部错误】。
8. c# url访问接口 [HttpPost] 404
1、因为你的后台接口标记了[HttpPost],所以该接口只接受post请求;
2、如果你直接访问接口的url,属于get请求,那当然404了;
3、你用ajax可以,是因为ajax的type属性是"post";
$.ajax({
type:"post",
url:"xx",
function(data){
console.log(data)
}
});
9. post提交数据后,返回的网页错误404怎么回事
400 错误请求 — 请求中有语法问题,或不能满足请求。 404 找不到 — 服务器找不到给定的资源;文件不存在 500 内部错误 — 因为意外情况,服务器不能完成请求 或者出问题了 2xx 成功 200 正常;请求已完成。 201 正常;紧接 POST 命令。
10. 打开网页出现“405 Not Allowed”,是什么意思怎么解决
状态码“405”代码请求错误,原因为 Apache、IIS、Nginx等绝大多数web服务器,都不允许静态文件响应POST请求,所以将post请求改为get请求即可。
常见的状态码有:
1,HTTP 错误 404
404 找不到
Web 服务器找不到您所请求的文件或脚本。请检查URL 以确保路径正确。如果问题依然存在,请与服务器的管理员联系。
2,HTTP 错误 405
405 不允许此方法
对于请求所标识的资源,不允许使用请求行中所指定的方法。请确保为所请求的资源设置了正确的 MIME 类型。 如果问题依然存在,请与服务器的管理员联系。
3,HTTP 错误 406
406 不可接受
根据此请求中所发送的“接受”标题,此请求所标识的资源只能生成内容特征为“不可接受”的响应实体。
4,HTTP 错误 407
407 需要代理身份验证
在可为此请求提供服务之前,您必须验证此代理服务器。请登录到代理服务器,然后重试。