在開發中,前端同事調用後端同事寫好的接口,在地址中是有效的,但在項目的ajax中,瀏覽器會報 "No 'Access-Control-Allow-Origin' header is present on the requested resource"的錯誤。
這是由於瀏覽器禁止ajax請求本地以外的資源,解決辦法如下:
後端同事在Controller層的類上增加@CrossOrign註解,當前文件的所有接口就都可以被調用。
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@CrossOrigin
@RestController
@RequestMapping("test")
public class TestController {
@RequestMapping("/one")
public Object one(HttpServletRequest request){
System.out.println("請求成功");
return "請求成功";
}
....
}
這篇文章更深入地講解@CrossOrign註解,感興趣的可以看一看 :CrossOrign
關於問題延伸的跨域問題,可以看看這篇文章:跨域