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 需要代理身份驗證
在可為此請求提供服務之前,您必須驗證此代理伺服器。請登錄到代理伺服器,然後重試。