位置: IT常识 - 正文

ajax请求携带自定义请求头header(跨域和同域)($ajax请求)

编辑:rootadmin
ajax请求携带自定义请求头header(跨域和同域) 1. ajax跨域请求(无cookie、无header)案例(java)(1)启动一个java web项目,配置两个域名(host),czt.ming.com、czt.casicloud.com,java后端代码如下:

推荐整理分享ajax请求携带自定义请求头header(跨域和同域)($ajax请求),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:ajax中6种请求方式,ajax请求url带参数,$ajax请求,ajax请求携带参数,ajax请求传参,ajax中6种请求方式,ajax请求携带cookie,ajax请求url带参数,内容如对您有帮助,希望把文章链接给更多的朋友!

注意:Access-Control-Allow-Origin

/** * * @Title: getAjaxCross * @Description: TODO(ajax请求,跨域) * @param request * @param response */@RequestMapping(value ="/getAjaxCross",method= {RequestMethod.GET})public void getAjaxCross(HttpServletRequest request, HttpServletResponse response){ try { response.setCharacterEncoding("UTF-8"); //设置允许多个域名允许跨域集合 String[] allowDomains = {"http://czt.casicloud.com", "http://czt.ming.com"}; Set allowOrigins = new HashSet(Arrays.asList(allowDomains)); String origin = request.getHeader("Origin"); if(allowOrigins.contains(origin)){ //设置允许跨域的配置:Access-Control-Allow-Origin: 响应头指定了该响应的资源是否被允许与给定的origin共享 response.setHeader("Access-Control-Allow-Origin", origin); } //数据 Map<String, Object> resultMap = new HashMap<String, Object>(); resultMap.put("message", "ajax请求,跨域成功"); String result = JsonUtils.objectToJson(resultMap);response.getWriter().write(result);} catch (Exception e) {e.printStackTrace();}}(2)前端页面代码如下://4.ajax跨域 function getCookieAjaxCross() { $.ajax({ type:"get", url:"http://czt.ming.com/xxx/xxx/xxx/getAjaxCross", async:true, data:{}, dataType: 'json', success: function(data) { console.log(data); } }); } getCookieAjaxCross();

(3)测试ajax跨域请求: 通过http://czt.casicloud.com/xxx/xxx访问页面,js触发ajax跨域请求http://czt.ming.com/xxx/xxx/xxx/getAjaxCross,前端和后台如果不按照代码中配置相应参数会报各种跨域错误;

2. ajax跨域请求获取和创建cookie案例(java)(1)启动一个java web项目,配置两个域名(host),czt.ming.com、czt.casicloud.com,java后端代码如下:

注意:Access-Control-Allow-Credentials和Access-Control-Allow-Origin

/** * * @Title: getCookieAjax * @Description: TODO(ajax请求,跨域传递cookie) * @param request * @param response */@RequestMapping(value ="/getCookieAjax",method= {RequestMethod.GET})public void getCookieAjax(HttpServletRequest request, HttpServletResponse response){ try { response.setCharacterEncoding("UTF-8"); response.setHeader("Access-Control-Allow-Credentials", "true"); //设置允许多个域名允许跨域集合 String[] allowDomains = {"http://czt.casicloud.com", "http://czt.ming.com"}; Set allowOrigins = new HashSet(Arrays.asList(allowDomains)); String origin = request.getHeader("Origin"); if(allowOrigins.contains(origin)){ //设置允许跨域的配置:Access-Control-Allow-Origin: 响应头指定了该响应的资源是否被允许与给定的origin共享 response.setHeader("Access-Control-Allow-Origin", origin); } //获取cookie Cookie[] cookies = request.getCookies(); //设置cookie Cookie cookie = new Cookie("access_token_ajax", UUID.randomUUID().toString()); cookie.setPath("/"); response.addCookie(cookie); //数据 Map<String, Object> resultMap = new HashMap<String, Object>(); resultMap.put("cookies", cookies); resultMap.put("message", "ajax请求,跨域传递cookie成功"); String result = JsonUtils.objectToJson(resultMap);response.getWriter().write(result);} catch (Exception e) {e.printStackTrace();}}(2)前端页面代码如下:

注意:withCredentials和crossDomain(作用不明)

//4.ajax跨域携带cookie和自定义请求头header function getCookieAjaxCross() { $.ajax({ type:"get", url:"http://czt.ming.com/industry/api/publishForeign/getCookieAjax", async:true, data:{}, dataType: 'json', xhrFields: { withCredentials: true // 发送Ajax时,Request header中会带上 Cookie 信息。 }, crossDomain: true, // 发送Ajax时,Request header 中会包含跨域的额外信息,但不会含cookie(作用不明,不会影响请求头的携带) success: function(data) { console.log(data); } }); } getCookieAjaxCross();

(3)测试ajax跨域请求获取和创建cookie: 通过http://czt.casicloud.com/xxx/xxx访问页面,js触发ajax跨域请求http://czt.ming.com/xxx/xxx/xxxx/getCookieAjax,前端和后台如果不按照代码中配置相应参数会报各种跨域错误;

3. ajax跨域请求,携带请求头header案例(java)

(1)启动一个java web项目,配置两个域名(host),czt.ming.com、czt.casicloud.com; (2)ajax跨域携带请求头会发送两次请求,一次预检查请求(options),预检查请求通过之后才会进行真正的请求,所以java后台需要配置相应的跨域过滤器,如下:

import java.io.IOException;import java.util.Arrays;import java.util.HashSet;import java.util.Set;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * * @ClassName: CorsFilter * @Description: TODO(跨域请求过滤器) * @author clm * @date 2019年10月25日 * */public class CorsFilter implements Filter {@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)throws IOException, ServletException {/* * 跨域请求头服务端配置: * 1.Access-Control-Allow-Origin:设置允许跨域的配置, 响应头指定了该响应的资源是否被允许与给定的origin共享 * 2.Access-Control-Allow-Credentials:响应头表示是否可以将对请求的响应暴露给页面(cookie)。返回true则可以,其他值均不可以。 * 3.Access-Control-Allow-Headers:用于预检请求中,列出了将会在正式请求的 Access-Control-Request-Headers 字段中出现的首部信息。(自定义请求头) * 4.Access-Control-Allow-Methods:在对 预检请求的应答中明确了客户端所要访问的资源允许使用的方法或方法列表。 */HttpServletRequest httpRequest = (HttpServletRequest) servletRequest;HttpServletResponse httpResponse = (HttpServletResponse) servletResponse;//设置允许多个域名允许跨域集合 String[] allowDomains = {"http://czt.casicloud.com", "http://czt.ming.com"}; Set<String> allowOrigins = new HashSet<String>(Arrays.asList(allowDomains)); String origin = httpRequest.getHeader("Origin"); if(allowOrigins.contains(origin)){ //设置允许跨域的配置:Access-Control-Allow-Origin: 响应头指定了该响应的资源是否被允许与给定的origin共享 httpResponse.setHeader("Access-Control-Allow-Origin", origin); } httpResponse.setHeader("Access-Control-Allow-Credentials", "true");httpResponse.setHeader("Access-Control-Allow-Headers","Origin, X-Requested-With, Content-Type, Accept, access-token");httpResponse.setHeader("Access-Control-Allow-Methods", "GET, PUT, DELETE, POST, OPTIONS");if (httpRequest.getMethod().equalsIgnoreCase("OPTIONS")) {httpResponse.setStatus(202);httpResponse.getWriter().close();return;}filterChain.doFilter(servletRequest, servletResponse);}@Overridepublic void destroy() {}@Overridepublic void init(FilterConfig filterConfig) throws ServletException {}}web.xml中配置过滤器:<filter><filter-name>CorsFilter</filter-name><filter-class>xxx.xxx.xxx.xx.xxx.CorsFilter</filter-class></filter><filter-mapping><filter-name>CorsFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>(3)java后台Controller代码:/** * * @Title: getPersonHeader * @Description: TODO(跨域获取请求头) * @param request * @param response */@RequestMapping(value ="/getPersonHeader",method=RequestMethod.GET)public void getPersonHeader(HttpServletRequest request, HttpServletResponse response){ try { response.setCharacterEncoding("UTF-8"); String personHeader = request.getHeader("Access-Token"); System.err.println("获取自定义请求头(Access-Token):" + personHeader); //数据 Map<String, Object> resultMap = new HashMap<String, Object>(); resultMap.put("message", "跨域获取请求头成功"); resultMap.put("personHeader", personHeader); String result = JsonUtils.objectToJson(resultMap);response.getWriter().write(result);} catch (Exception e) {e.printStackTrace();}}(4)前端页面代码如下://同域前端设置自定义请求头,后端获取自定义请求头 function getPersonHeader() { $.ajax({ type:"get", url:"/xxx/xxx/xxx/getPersonHeader", async:true, //ajax配置请求头方式,第一种 headers: { "Access-Token":"Access-Token123456",//自定义请求头 "Content-Type":"application/json;charset=utf8" }, //ajax配置请求头方式,第二种 //beforeSend : function(request) {   // request.setRequestHeader("Access-Token", "Access-Token123456"); // request.setRequestHeader("Content-Type", "application/json;charset=utf8"); //} data:{}, success: function(data) { console.log(data); } }); } getPersonHeader(); //跨域前端设置自定义请求头,后端获取自定义请求头 function getPersonHeaderCross() { $.ajax({ type:"get", url:"http://czt.ming.com/xxx/xxx/xxx/getPersonHeader", async:true, headers: { "Access-Token":"Access-Token123456",//自定义请求头 "Content-Type":"application/json;charset=utf8" }, data:{}, crossDomain: true, // 发送Ajax时,Request header 中会包含跨域的额外信息,但不会含cookie(作用不明,不会影响请求头的携带) success: function(data) { console.log(data); } }); } getPersonHeaderCross();

(5)测试ajax跨域请求携带请求头header: 通过http://czt.casicloud.com/xxx/xxx访问页面,js触发ajax跨域请求http://czt.ming.com/xxx/xxx/xxxx/getPersonHeader,前端和后台如果不按照代码中配置相应参数会报各种跨域错误;

3. jsonp实现跨域读写cookie案例(java)ajax请求携带自定义请求头header(跨域和同域)($ajax请求)

(1)启动一个java web项目,配置两个域名(host),czt.ming.com、czt.casicloud.com;

(2)java后台jsonp代码:/** * * @Title: setCookie * @Description: TODO(jsonp跨域设置cookie) * @param request * @param response */@RequestMapping(value ="/setCookie.jsonp",method=RequestMethod.GET)public void setCookie(HttpServletRequest request, HttpServletResponse response){ try { response.setCharacterEncoding("UTF-8"); //设置cookie Cookie cookie = new Cookie("access_token", UUID.randomUUID().toString()); cookie.setPath("/"); response.addCookie(cookie); //数据 Map<String, Object> resultMap = new HashMap<String, Object>(); resultMap.put("cookie", cookie); resultMap.put("message", "跨域设置cookie成功"); String result = JsonUtils.objectToJson(resultMap); //前端传过来的回调函数名称 String callback = request.getParameter("callback"); //用回调函数名称包裹返回数据,这样,返回数据就作为回调函数的参数传回去了 result = callback + "(" + result + ")";response.getWriter().write(result);} catch (Exception e) {e.printStackTrace();}}/** * * @Title: getCookie * @Description: TODO(jsonp跨域获取cookie) * @param request * @param response */@RequestMapping(value ="/getCookie.jsonp",method=RequestMethod.GET)public void getCookie(HttpServletRequest request, HttpServletResponse response){ try { response.setCharacterEncoding("UTF-8"); //获取cookie Cookie[] cookies = request.getCookies(); //数据 Map<String, Object> resultMap = new HashMap<String, Object>(); resultMap.put("cookies", cookies); resultMap.put("message", "跨域获取cookie成功"); String result = JsonUtils.objectToJson(resultMap); //前端传过来的回调函数名称 String callback = request.getParameter("callback"); //用回调函数名称包裹返回数据,这样,返回数据就作为回调函数的参数传回去了 result = callback + "(" + result + ")";response.getWriter().write(result);} catch (Exception e) {e.printStackTrace();}}(3)前端代码: //1.jsonp跨域设置cookie function setCookieCrossJsonp() { $.ajax({ type:"get", url:"http://czt.ming.com/industry/api/publishForeign/setCookie.jsonp", async:true, data:{}, dataType: "jsonp", //返回类型为jsonp,实现跨域 jsonp:"callback", //jsonp和jsonpCallBack相当于在url后添加一个参数:?callback=back jsonpCallback:"back", //设定回调函数的名字,传到后台,进行包装,不设定自动生成 success: function(data) { //成功执行处理,对应后台返回的back(data)方法 console.log(data); } }); } setCookieCrossJsonp(); //2.jsonp跨域获取cookie function getCookieCrossJsonp() { $.ajax({ type:"get", url:"http://czt.ming.com/industry/api/publishForeign/getCookie.jsonp", async:true, data:{}, dataType: "jsonp", //返回类型为jsonp,实现跨域 jsonp:"callback", //jsonp和jsonpCallBack相当于在url后添加一个参数:?callback=back jsonpCallback:"back1", //设定回调函数的名字,传到后台,进行包装,不设定自动生成 success: function(data) { //成功执行处理,对应后台返回的back(data)方法 console.log(data); } }); } getCookieCrossJsonp();

(4)测试jsonp跨域请求获取和创建cookie: 通过http://czt.casicloud.com/xxx/xxx访问页面,js触发jsonp跨域请求http://czt.ming.com/xxx/xxx/xxxx/getCookie.jsonp、http://czt.ming.com/xxx/xxx/xxxx/setCookie.jsonp,能够正常跨域设置cookie和获取cookie;

ajax请求携带cookie、自定义header总结:错误:

1.ajax请求时是不会自动带上cookie的,要是想让他带上的话,必须设置withCredential为true。

正确:

ajax同域请求下,ajax会自动带上同源的cookie;

ajax同域请求下,ajax添加自定义请求头(或原装)header,前端、后台不需要增加任何配置, 并且不会因为增加自定义请求头header,而引起预检查请求(options);

ajax跨域请求下,如果不需要携带cookie、请求头header,只需要在后台配置相应参数即可; 后台参数: (1).Access-Control-Allow-Origin:设置允许跨域的配置, 响应头指定了该响应的资源是否被允许与给定的origin共享;

ajax跨域请求下,ajax不会自动携带同源的cookie,需要通过前端配置相应参数才可以跨域携带同源cookie,后台配置相应参数才可以跨域返回同源cookie; 前端参数: withCredentials: true(发送Ajax时,Request header中会带上Cookie信息) 后台参数: (1).Access-Control-Allow-Origin:设置允许跨域的配置, 响应头指定了该响应的资源是否被允许与给定的origin共享; 特别说明:配置了Access-Control-Allow-Credentials:true则不能把Access-Control-Allow-Origin设置为通配符*; (2).Access-Control-Allow-Credentials:响应头表示是否可以将对请求的响应暴露给页面(cookie)。返回true则可以,其他值均不可以。

ajax请求任何时候都不会带上不同源的cookie(Cookie遵循同源策略);

ajax跨域请求下,ajax添加自定义或者原装的请求头,请求会发送两次,第一次预检查请求,第二次正常请求,详细描述: post(或GET)跨域请求时,分为简单请求和复杂请求,跨域携带自定义或者原装请求头头时是复杂请求。 复杂请求会先发送一个method 为option的请求,目的是试探服务器是否接受发起的请求. 如果服务器说可以,再进行post(或GET)请求。 对于java后台web应用,跨域需要添加一个过滤器(过滤器详见下面案例代码),这个过滤器做的事就是,加了几个http header在返回中, Access-Control-Allow-Origin 我能接受的跨域请求来源,配置主机名 Access-Control-Allow-Headers 表示能接受的http头部,别忘了加入你自己发明创造的头部 Access-Control-Allow-Methods 表示能接受的http mothed ,反正就那几种,全写上也无妨,猥琐点就只写 post, options 如果是OPTION返回空,设置返回码为202,202表示通过。 需要前端配置相应参数才可以跨域携带请求头,后台配置相应参数进行跨域携带请求头; 前端参数: crossDomain:true(发送Ajax时,Request header 中会包含跨域的额外信息,但不会含cookie(作用不明,不会影响请求头的携带)) 后台参数(配置预检查过滤器): (1)Access-Control-Allow-Origin:设置允许跨域的配置, 响应头指定了该响应的资源是否被允许与给定的origin共享; (2)Access-Control-Allow-Credentials:响应头表示是否可以将对请求的响应暴露给页面(cookie)。返回true则可以,其他值均不可以; (3)Access-Control-Allow-Headers:用于预检请求中,列出了将会在正式请求的 Access-Control-Request-Headers 字段中出现的首部信息。(自定义请求头); (4)Access-Control-Allow-Methods:在对预检请求的应答中明确了客户端所要访问的资源允许使用的方法或方法列表;

亲测小结论:

1.ajax跨域请求下,后台不配置跨域Access-Control-Allow-Origin,同样能够执行后台方法,但是无法执行ajax的success的方法,控制台报跨域错误; 2.ajax跨域请求下,前端配置withCredentials: false,同样能够执行后台方法,但是无法携带同源cookie,后台无法获取; 3.ajax跨域请求下,前端配置withCredentials: true,后端没有配置Access-Control-Allow-Credentials:true,同样能够执行后台方法,并能够生成cookie并返回浏览器,但是无法执行ajax的success的方法,控制台报跨域错误; 4.ajax跨域请求下,前端配置withCredentials: false或不配置withCredentials,后端配置Access-Control-Allow-Credentials:true或者false,同样能够执行后台方法,并能够生成cookie并返回浏览器,但是无法携带同源cookie,能够执行ajax的success的方法; 5.Cookie携带只区分域名,不区分端口; 6.jsonp可以携带cookie,但只能携带所属域名的cookie(同源策略); 7.jsonp可以跨域生成cookie,流程如下:跨域请求之后,在服务器端生成cookie,并在浏览器端记录相应的cookie; 8.静态资源同样会携带cookie(js和图片等),但是如果是和当前页面不同域只是在network中不显示cookie选项,但是后台能够获取到对应cookie; 9.ajax同域请求会自动带上同源的cookie,不会带上不同源的cookie; 10.这是MDN对withCredentials的解释: MDN-withCredentials ,我接着解释一下同源。 众所周知,ajax请求是有同源策略的,虽然可以应用CORS等手段来实现跨域,但是这并不是说这样就是“同源”了。ajax在请求时就会因为这个同源的问题而决定是否带上cookie,这样解释应该没有问题了吧,还不知道同源策略的,应该去谷歌一下看看。

总结:最好前端后台配置跨域,则同时配置相应的跨域配置,否则总会出现不可控的错误;

参考博客: 1.ajax如何带上cookie: 2.跨域请求设置withCredentials(转): 3.Ajax 带请求头header的get、post请求在原生JS中应用讲解: 4.ajax请求携带 cookie: 5.ajax跨域 自定义header: 6.ajax 自定义header跨域时, option的处理: 7.JQuery.Ajax + 跨域 (crossDomain) + POST + JSON + WCF RESTful, 5大陷阱和解决方案: 8.跨域请求及跨域携带Cookie解决方案: 9.Access-Control-Allow-Methods: 10.Access-Control-Allow-Origin: 11.Access-Control-Allow-Credentials: 12.ajax请求中自定义添加请求头: 13.jsonp cookie 跨域原理详解: 14.jsonp实现跨域读写cookie:

本文链接地址:https://www.jiuchutong.com/zhishi/300278.html 转载请保留说明!

上一篇:springboot+chatgpt+chatUI Pro开发智能聊天工具

下一篇:SpringBoot整合WebSocket实现后端向前端发送消息(springboot整合websocket怎么接受图片消息)

  • 平凡的世界读后记(平凡的世界读后感2000字大学生)

    平凡的世界读后记(平凡的世界读后感2000字大学生)

  • vivox70pro+是5g吗(vivox70pro+12+256参数配置详情)

    vivox70pro+是5g吗(vivox70pro+12+256参数配置详情)

  • 贝瓦儿歌怎么下载(贝瓦儿歌app)

    贝瓦儿歌怎么下载(贝瓦儿歌app)

  • 苹果13pro怎么把隐藏相册藏起来(苹果13pro怎么把照片隐藏加密)

    苹果13pro怎么把隐藏相册藏起来(苹果13pro怎么把照片隐藏加密)

  • 苹果手机如何取消微信置顶(苹果手机如何取出sim卡)

    苹果手机如何取消微信置顶(苹果手机如何取出sim卡)

  • 小米airdots不能切歌(小米airdots连不上)

    小米airdots不能切歌(小米airdots连不上)

  • word2019艺术字水平对齐方式相对于栏居中怎么设置(word2021艺术字)

    word2019艺术字水平对齐方式相对于栏居中怎么设置(word2021艺术字)

  • win10提示你的电脑遇到问题需要重启(win10提示你的电脑遇到问题需要重启解决方法)

    win10提示你的电脑遇到问题需要重启(win10提示你的电脑遇到问题需要重启解决方法)

  • oppoA9如何解屏幕锁(oppoa9屏幕解锁)

    oppoA9如何解屏幕锁(oppoa9屏幕解锁)

  • 微信群删了如何恢复(微信群删了如何恢复回来聊天记录)

    微信群删了如何恢复(微信群删了如何恢复回来聊天记录)

  • r5 4600u相当于i几(r5-4600u相当于英特尔哪个处理器)

    r5 4600u相当于i几(r5-4600u相当于英特尔哪个处理器)

  • 抖音如何获得qq权限(下载抖音微信登录)

    抖音如何获得qq权限(下载抖音微信登录)

  • 无线鼠标充电时开关应该开着还是关着(无线鼠标充电时显示蓝色正常吗)

    无线鼠标充电时开关应该开着还是关着(无线鼠标充电时显示蓝色正常吗)

  • 苹果手机为什么晚上面部识别不了(苹果手机为什么屏幕会突然变暗)

    苹果手机为什么晚上面部识别不了(苹果手机为什么屏幕会突然变暗)

  • 苹果视频录屏为什么没声音(苹果视频为什么录屏失败)

    苹果视频录屏为什么没声音(苹果视频为什么录屏失败)

  • 个人热点一直开着耗电吗(个人热点一直开有危害吗)

    个人热点一直开着耗电吗(个人热点一直开有危害吗)

  • windows7怎么联网(windows7怎么联网线)

    windows7怎么联网(windows7怎么联网线)

  • 微信扫码过的记录能找到吗(微信扫码过的记录怎么查)

    微信扫码过的记录能找到吗(微信扫码过的记录怎么查)

  • 华为nove4怎么连拍(华为nova4怎么无线连接电脑)

    华为nove4怎么连拍(华为nova4怎么无线连接电脑)

  • word10如何自定义目录(word自定义属性在哪)

    word10如何自定义目录(word自定义属性在哪)

  • 苹果11信号有提升吗(苹果11手机信号)

    苹果11信号有提升吗(苹果11手机信号)

  • vivoz5x有没有微信美颜(vivoz5x怎么设置微信密码解锁)

    vivoz5x有没有微信美颜(vivoz5x怎么设置微信密码解锁)

  • iphone11哪天上市(苹果11什么时候上市发售最新的手机)

    iphone11哪天上市(苹果11什么时候上市发售最新的手机)

  • 小米ai音箱可以连接几个蓝牙(小米ai音箱可以直接连手机蓝牙嘛)

    小米ai音箱可以连接几个蓝牙(小米ai音箱可以直接连手机蓝牙嘛)

  • ios12暗黑模式怎么开(苹果ios12暗黑模式怎么设置)

    ios12暗黑模式怎么开(苹果ios12暗黑模式怎么设置)

  • 小米摄像头怎么连接手机(小米摄像头怎么插内存卡)

    小米摄像头怎么连接手机(小米摄像头怎么插内存卡)

  • Win11 Build 23430 预览版发布(附更新修复内容汇总)

    Win11 Build 23430 预览版发布(附更新修复内容汇总)

  • SOC计算方法:卡尔曼滤波算法(sockas)

    SOC计算方法:卡尔曼滤波算法(sockas)

  • 增值税计入成本吗?
  • 退回多交城建税税金会计分录
  • 税控盘费用进什么科目
  • 销售防疫物资免水洗手液需要什么许可证
  • 企业收到政府补助资金怎么做账
  • 跨月红冲发票如何申报退税
  • 外购商品用于赠送分录
  • 房地产企业融资存在的问题
  • 有限合伙合伙人要求
  • 将自产的产品用于对外投资
  • 案件补贴
  • 去年已支付的费用怎么查
  • 彩票扣税比例
  • 应收账款进行债务转让
  • 作为展示用的物品
  • 企业出口不退税怎么处理
  • 发票购方税号是什么意思
  • 零税率发票可以冲成本吗
  • 劳务公司开的3%专用发票能抵扣吗
  • 农副产品税率及范围
  • 印花税的收取
  • 物业公司代收暖气费如何开票
  • 增值税纳税义务人
  • 营业外支出所得税汇算要调增吗
  • 存货跌价准备转销账务处理
  • 代缴公司不给停社保怎么办
  • 长期股权投资稀释
  • 生产成本的工料有哪些
  • 发出的货物可以要求退回吗
  • 长期股权投资核算的成本法与权益法的主要差别有哪些
  • 预收账款可计入
  • mac和mac之间怎么传东西
  • 文件被占用无法删除
  • 评估价格是按原值还是净值
  • 租赁公司收到租赁费发票分录
  • 押金要不回来怎么办
  • linux运维有前景吗
  • 业务招待费税前扣除标准按照发生额的60%扣除
  • 向政府购买土地使用权
  • 跨的基本功有哪些
  • java前后端加密解密请求
  • 充话费如何开公司发票
  • 外管证预缴税款上报后,怎么交税
  • 怎样从对公账号查询账单
  • 如何顺利完成年度任务
  • 人力资源公司的税率是多少
  • 技术转移转化是干什么的
  • 挂靠设计公司费用标准怎么记账
  • 减免增值税记账
  • file文件对象
  • 收据大写后面的空格怎么填
  • 小企业固定资产入账标准
  • 待抵扣进项税额和待认证进项税额的区别
  • 年终奖金个人所得
  • 预收账款核算如何做账
  • 结转周转材料成本
  • 逾期纳税申报会被罚款吗
  • 在建工程明细科目怎么设置
  • 开支票如何做账
  • 平行结转分步法例题
  • 产成品核算的内容
  • linux安装sz
  • win10预览版21301bug
  • WebProxy.exe - WebProxy是什么进程
  • nicconfigsvc.exe - nicconfigsvc是什么进程 有什么用
  • Win7系统启动qq无法访问个人文件怎么解决
  • JAVAscript字符串类型单引号和双引号意一样吗
  • node.js document
  • shader教程
  • bootstrap弹出表单
  • javascript日期加减
  • gridview用法
  • javascript:void(o)怎么解决
  • 2、BluetoothChat之扫描设备DeviceListActivity.java
  • python 断言详细讲解用法及其案例
  • javascript消息对话框
  • 税务系统更新不能开发票
  • 一般纳税人注销公司需要查账吗
  • 预缴增值税最后怎么处理
  • 零申报的企业残保金怎么申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设