• ajax的url有两种,一种是绝对路径,另一种是相对路径。   一、绝对路径:包括协议名称、主机地址、端口、web项目名称等的完整请求路径。 例如: $.ajax({  url:"http://localhost:8080/webname/test" })...
    ajax的url有两种,一种是绝对路径,另一种是相对路径。
     
    一、绝对路径:包括协议名称、主机地址、端口、web项目名称等的完整请求路径。
    例如:
    $.ajax({
        url:"http://localhost:8080/webname/test"
    });
     
    好处:比如在webA项目中的ajax需要请求webB项目中的服务,则必须使用绝对路径。
    坏处:使用绝对路径要求古地理更web项目的名称,如果webB项目重命名了,则对应的ajax请求都需要修改。
     
    二、相对路径:不需要协议名、主机地址、端口、web项目名称,只需要请求的路径。
    假设:
    项目路径:http://localhost:8080/webname
    页面路径:/webname/index.html(A页面),/webname/test/test.html(B页面)
    请求路径:/request/ajaxtest,request/ajaxtest
     
    1、如果请求路径以根路径开头,则无论什么ajax在什么页面,该请求都是相对于服务器的根路径,最后的请求路径都是:http://localhost:8080/request/ajaxtest
    例如:
    $.ajax({
        url :"/request/ajaxtest"
    });
    原因:以"/"开头,是表示该请求基于从服务器的根路径,即不是相对于html的路径。
     
    2、如果请求不以根路径开头(常见),则该请求路径是相对于html所在的路径的。
        a、假如请求在A页面,最终的请求路径是:http://localhost:8080/webname/request/ajaxtest。
        //     /webname/index.html页面
        $.ajax({
            url:"request/ajaxtest"
        });
        原因:index.html页面对应的路径是"/webname/",所以将url跟在这个路径下就是最终的请求路径。
     
        b、假如请求在B页面,最终的请求路径是:http://localhost:8080/webname/test/request/ajaxtest。
        //     /webname/test/test.html页面
        $.ajax({
            url:"request/ajaxtest"
        });
        原因:test.html页面对应的路径是“/webname/test/”,所以将url要跟在test这一级下面。
     
    三、环境描述
    web服务器:Tomcat7
    MVC框架:springMVC
    以上内容,都是基于该环境测试自行总结出的,并无理论依据,若有错误请留言。
    展开全文
  • 今天在写了自己的毕设设计遇到了一个问题,就是提交的地址不是自己在$.ajax中设置的url,但是可以正确回调success。后来在网易博客上看到一位大神的博客瞬间茅塞顿开。才明白主要是因为缓存的问题。这种问题只会子在...

    今天在写了自己的毕设设计遇到了一个问题,就是提交的地址不是自己在$.ajax中设置的url,但是可以正确回调success。后来在网易博客上看到一位大神的博客瞬间茅塞顿开。才明白主要是因为缓存的问题。这种问题只会子在啊设置$.ajax的type为"GET"的时候才会出现,若果设置成"POST"则不会出现此问题;可以正常访问指定路径。分割线以下是自己cp过来的:

    ​================================================

    原因:

    ​1:GET访问 浏览器 认为 是等幂的就是 一个相同的URL 只有一个结果[相同是指 整个URL字符串完全匹配]所以 第二次访问的时候 如果 URL字符串没变化 浏览器是 直接拿出了第一次访问的结果POST则 认为是一个 变动性 访问 (浏览器 认为 POST的提交 必定是 有改变的)防止 GET 的 等幂 访问 就在URL后面加上 ?+new Date();,[总之就是使每次访问的URL字符串不一样的]设计WEB页面的时候 也应该遵守这个原则

    2:一.谈Ajax的Get和Post的区别Get方式:用get方式可传送简单数据,但大小一般限制在1KB下,数据追加到url中发送(http的header传送),也就是说,浏览器将各个表单字段元素及其数据按照URL参数的格式附加在请求行中的资源路径后面。另外最重要的一点是,它会被客户端的浏览器缓存起来,那么,别人就可以从浏览器的历史记录中,读取到此客户的数据,比如帐号和密码等。因此,在某些情况下,get方法会带来严重的安全性问题。Post方式:当使用POST方式时,浏览器把各表单字段元素及其数据作为HTTP消息的实体内容发送给Web服务器,而不是作为URL地址的参数进行传递,使用POST方式传递的数据量要比使用GET方式传送的数据量大的多。总之,GET方式传送数据量小,处理效率高,安全性低,会被缓存,而POST反之。

    参考网址:http://zghbwjl.blog.163.com/blog/static/120336672201241504538107/​

    展开全文
  • 2019独角兽企业重金招聘Python工程师标准>>> ...

    昨晚项目升级,开发环境、测试环境一切OK,一上线,页面空白。页面console打印404。查看后台日志报如下错误:、

    Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '='

    数据库: mysql

    可见404不一定是URL的问题哦。

    解决问题的办法:

    找到与该请求相关的查询语句,我是用 Spring jdbcTemplate做的,找到对应sql所涉及到的表,在mysql中执行以下语句:

    show create table tabel_name

    在结果集中有这样的东西:

    ************  CHARSET=utf8 COLLATE=utf8_unicode_ci

    查询资料发现是COLLATE的问题,做如下修改:执行SQL

     ALTER TABLE table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

    将涉及到的所有表都执行上述操作后,再验证,一切OK。

    顺利解决问题。

    404错误不一定就是页面url的问题哦。

    转载于:https://my.oschina.net/xuqiang/blog/506154

    展开全文
  • 1. 项目用的YII框架,在module下面的Usertest.php有一个方法: public function getTextArea($fieldName,$usertest_id) { return CHtml::activeTextArea($this,$fieldName,array("name"=>$fieldName."_".$...

    1. 项目用的YII框架,在module下面的Usertest.php有一个方法:

    public function getTextArea($fieldName,$usertest_id) {    	      
            return CHtml::activeTextArea($this,$fieldName,array("name"=>$fieldName."_".$usertest_id,'style'=>'rows:3;cols:20;',"ajax" => array("type"=>"POST","url"=>"/usertest/ChangeComments", "data"=>array("usertest_id"=>$usertest_id,"usertest_comments"=>"js:this.value"),"success"=>"js:alert(\"Update comments success!\")")));     
        }
    调用的地方在usertest/index.php里面,代码如下:

    array(
            'name' => 'usertest_comments',
            'id' => 'usertest_comments',
            'header'=>'Comments',
           'type'=>'raw',
            'value'=>'$data->getTextArea(\'usertest_comments\',$data->usertest_id)',
            'htmlOptions'=>array('style'=>'width:100px;'),
           ),


    开发在windows上,页面访问没有问题,访问路径是正确的: */usertest/ChangeComments, 可是放到Linux上却变成:*/usertest/usertest/ChangeComments,导致修改不了数据。

    2. 尝试了一下方法,,

    ①以为是单双引号的问题,代码改成下面这样:

        public function getTextArea($fieldName,$usertest_id) {    	      
            return CHtml::activeTextArea($this,$fieldName,array("name"=>$fieldName."_".$usertest_id,"style"=>"rows:3;cols:20;","ajax" => array("type"=>"POST","url"=>"usertest/ChangeComments","data"=>array("usertest_id"=>$usertest_id,"usertest_comments"=>"js:this.value"),"success"=>"js:alert(\"Update comments success!\")")));     
        }
    问题还是没有解决,又改成单引号,直接报错了。后面改回来时windows上竟然也报错了,跟Linux一样,无语了。

    ②把"url"=>"usertest/ChangeComments"改成"url"=>"/usertest/changeComments", Linux对大小写敏感,发现还是不行。

    ③后面改成这样子的:"url"=>"http://enduserfeedback.ta-mp.com:8080/usertest/changeComments",windows上没有问题了。结果放到Linux上,发现报错了,

     No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://172.24

    百度了下,按照这个文章(点击打开链接)改了之后,可以了。后面把绝对路径去掉,只留下"dataType"=>"JSONP", 貌似也没有问题。

    3. 反正程序总是来回折腾,最后就这样解决了问题



    展开全文
  • struts2 ajax访问Action linux和windows下的路径问题:  如果路径*.action路径虽然是对了,也输对了,struts2路径访问的package的namespase空间名是空的,可是在访问的时候路径上*.action前面多加了空间名 虽然在...

    2011-12-23

    struts2 ajax访问Action linux和windows下的路径问题:

       如果路径*.action路径虽然是对了,也输对了,struts2路径访问的package的namespase空间名是空的,可是在访问的时候路径上*.action前面多加了空间名

    虽然在windows下运行时不会报错,因为已经拦截到.action前面的所有路径并根据路径调用action对应的方法,可是在linux下就不行了,因为linux比较严谨,无缘无故出现了

    多加空间名就给你报错,这个问题出现在我做的可编辑表格的路径出现过:如

        http://localhost:7001/taizhang/task/task!modify.action 错误

        http://localhost:7001/taizhang/task!modify.action 正确

    很明显是多加了struts.xml里action的namespase空间名task

    展开全文
  • ajax请求返回值为404 路径正确我使用ajax发起了用户名是否存在的校验 但是出现了404 然而我通过浏览器直接访问是可以访问到的,一直没有想明白原因,404 找不到那么浏览器是如何找到的。。 后来发现是我springmvc...
  • 使用File.separator解决文件路径跨平台出现的问题
  • 1.在httpd函数中添加语句: httpRpmConfAdd(HTTP_M_GET,"/update/",httpRpmUpdateJson); httpFsConfAdd("/update/","/mem/webfs/"); 在上述语句中 “HTTP_M_GET”可选为...
  • 如题,将本地的Javaweb项目部署在Linux服务器上,并且路径正确,但是一直404,但是可以访问Linux上的Tomcat的ROOT中的内容,原因是web项目使用的jdk版本和Linux上的jdk版本不一致,可以修改项目编译的jdk版本,或者...
  •  概述  Ajax开发中令人头疼的问题之一是跨域问题。... <br /> 从下图的Firebug中可以看到,该页面通过Ajax反复请求一个名为/api/counter的路径以径获取最新的下载数量。 <br /><br
  • &lt;pre&gt;&amp;lt;?php echo $_SERVER['PHP_SELF'];?...此代码用于显示当前文件相对于根目录的绝对位置。出现404原因: PHPstrom 中调试是以项目所在文件夹为根目录的 而服务器是以项目为根目录...
  • 一、Ajax 服务器软件安装 (1)、什么是服务器? 服务器也是电脑,只不过是一台 24 小时不断电,不关机的电脑 根据提供的服务功能不同:文件服务器、邮件服务器、Web 服务器等等 简而言之:服务器其实就是一台“提供了...
  • LINUX + AJAX上传数据

    2010-08-03 17:51:00
     由于客户机的服务器是LINUX,客户端是WINDOWS访问,所以无法直接通过JAVA代码将文件保存到本地路径,所以需要进行先保存在服务器的操作,然后通过DOM在服务器端下载。   /** * 下载远程文件 ...
  • 前台ajax一直报404,后台方法断点根本进不去,搞了好久,百思不得其解。参数的console.log和报错信息如下:ajax方法如下:$.ajax({ type: 'POST', url: "${ctx }/manage/submitPublicClass", ...
  • AJAX 中文问题

    2007-04-29 20:38:00
    AJAX中文问题分为两大类: 1)发送路径中的参数有中文,在服务器段接收参数值是乱码 例如:var url="a.jsp?name=小李";xmlHTTP.open ("post",url,true); 解决办法: 利用javascript的提供的escape()或...
  • 在controller中打断点,可以访问,返回的数据也正常。 解决办法: 找了很久也没发现问题,后来发现未加@RestController注解;...又尝试加上@ResponseBody注解,去掉@RestController也可以解决问题;...
  • ajax url 路径

    2012-11-29 10:51:38
    后台报错: ... 信息: Invalid chunk starting at byte [17] and ending at byte [17] with a value of [null] ignored ...描述:应用在本机上运行正常,但是在linux上运行到一段时间 就会报错,...
  • 最近在做毕业设计,需要做一个批量上传图片的功能。 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=...
1 2 3 4 5 ... 20
收藏数 9,296
精华内容 3,718
热门标签