被调用页:2.php
页头情况: <head>
<script src="scripts/jquery.js">
<script src="../scripts/2.js" > 
应该一样吧

解决方案 »

  1.   


    由于是调用,按我原来的方法在本地才可以运行成功。所以如果一样的话js更不起作用了。
    我也按你所说的,全部用了统一的方法:如<script src="http://www.xxx.com/script/2.js">这样的,还是一样不能在空间运行2.php,2.js也能起作用。本地倒可以运行成功2.php,也能被1.php调用成功。并且在空间上也能成功单独运行2.php,都有js效果。但就是被1.php调用后就没反应了。百思不得其解!!!
      

  2.   

    [Quote=引用 3 楼 hoauzs 的回复:]
    引用 1 楼 yanhuajin 的回复:
    被调用页:2.php 
    页头情况: <head> 
    <script src="scripts/jquery.js"> 
    <script src="../scripts/2.js" > 
    应该一样吧 
     由于是调用,按我原来的方法在本地才可以运行成功。所以如果一样的话js更不起作用了。 
    我也按你所说的,全部用了统一的方法:如 <script src="http://www.xxx.com/script/2.js">这样的,本地倒可以运行成功2.php,也能被1.php调用成功。并且在空间上也能成功单独运行2.php,都有js效果。但就是被1.php调用后就没反应了。百思不得其解!!!
      

  3.   


    楼主的调用没有说清楚:如果是include这样子的话,直接可以在1.php里加上<script src="../scripts/2.js" ></script>
    如果是iframe调用的话,就应该在2.php里
    <script src="../scripts/jquery.js">
    <script src="../scripts/2.js" >
      

  4.   


    可能上次没说清楚,那我重新来说一下吧:当前主目录{ 文件1.php、文件夹2(包含2.php)、文件夹scripts (包含1.js、2.js、jquery.js) } 
    ========================
    1.php:
        页头:<script src="scripts/jquery.js">
             <script src="scripts/1.js">
    2.php:
       页头:<script src="../scripts/jquery.js">
            <script src="scripts/2.js">
    ============================================
    调用方式: 
    1.php通过jquery的$.ajax()调用2.php 
    -------------------------------------
    现在按这种方式,本地完全可以运行。但空间还是不行的。
    还有:我没有用iframe.
      

  5.   

    你在本地不提示错误?我觉得不可能不提示错误本身你路径已经已经不对,你本地之所以可以执行,我想可能是没什么限制的原因,服务器加了些限制,所以你就无法显示了按路径关系
    2.php: 
      页头: <script src="../scripts/jquery.js"> 
            <script src="scripts/2.js"> 
    这个里面的<script src="scripts/2.js"> 路径已经明显错误了
    你的路径结构是
    根目录:
    文件1.php
    文件夹2:
            2.php
    文件夹scripts 
           1.js
            2.js
           jquery.js
    这样的
    也就是说,如果2.php也调用scripts文件夹下的文件,只能采用
    <script src="../scripts/jquery.js"> 或者<script src="/scripts/jquery.js"> 这样的形式
    不可能是<script src="scripts/jquery.js"> 这样的形式
      

  6.   

    还有1.php通过jquery的$.ajax()调用2.php ,你这2.php里面是怎样的返回值?如果没有返回值,默认返回整个页面代码,那当然要出错了
      

  7.   

    你把
    <script> 
    window.onerror = function(sMessage, sUrl, sLine){ //捕捉错误 
    alert(sMessage + "---------" + sUrl + "-----------" + sLine);  
    return true;  
    }  
    </script> 
    这个加到1.php最前面,看看能检测出什么错误
      

  8.   


    我按目前这样的路径在本地真的一点错误都没有。一开始我也认为这样路径应当是../scripts/2.js,但这样写,本地都不能调用成功,所以后来我改成scrips/2.js,这样才可以正常运行。调用2.php后,2.php返回的是这个页面里的一个div的文本内容,不过基本上算是整个页面了。不过我所有的项目都是通过这种方式在index.php里调用其他页面,而且形式都差不多一样。其他的都没问题。我加了你给的这个错误检测代码,什么也没有提示。还有,我用的是000webhost的免费空间。不知道有没有什么限制,不过好象在网页上没看到它提示有什么限制的。我之前做的一个都可以在它上面运行顺利的。
      

  9.   


    这是1.js的调用部分:
     /****************加载留言板**********************/
        $("#messages").click(function(){
           $("#about_sub").slideUp(1000);
         $.ajax({
         type:'POST',
         url:'messages/messages.php',
         ifModified:true,
         data:$("#main").val(),
         success:function(data){
         $("#msg").html(data).fadeIn().siblings().hide();
         }
         })
        })
    这是2.js的提交部分
    /***************提交表单************/
    .....上面还有验证表单部分
    $("#submit").click(function(){
      $(".required").trigger('blur');
          $("#sub_msg").remove();
      var numWarning=$('.warning').length;
      if(numWarning){
       var errorFieldList=[];
       $('.warning').each(function(){
       errorFieldList.push($(this).parents("td").find("span:first").text());
       })
       $('<div></div>').attr({'id':'sub_msg','class':'sub_msg'})
       .append("<font size='2px'>以下内容输入的数据"+numWarning+"处不合法:</font><br />")
       .append("<font color=maroon size='2px' >&bull;"+errorFieldList.join("<br />&bull;")+"</font>")
       .appendTo('#caution').fadeIn(5000).fadeOut(5000);
       return false;
      }else{
         $.ajax({
          type:"POST",
          url:"messages/receivemsg.php",//写入数据库
          data:"username="+$("#username").val()+"&phone="+$("#phone").val()+"&email="+$("#email").val()+"&msgcontent="+$("#msgcontent").val()
       })
          alert("留言成功,谢谢!")
          $.ajax({//重新调用messages.php,相当于刷新,即时显示
               type:'POST',
               url:"messages/messages.php",
               ifModified:true,
               success:function(url){
                   $("#msg").html(url).fadeIn().siblings().hide();
               }
        })
       }
     })
      

  10.   

    ie的话开启脚本调试,ff装个firebug
      

  11.   

    原因终于找到了,是我在2.js里没有将$(document).ready(function(){})这个表头去掉。
    不过,也证明了我的结构是没问题的。现在空间运行也没问题了。
    感谢以上朋友的帮助!!
    特别感谢chinmo朋友!~