2016-11-15 4 views
0

AJAX関数を使用してデータベースから動的データを使用してモーダルを開こうとしています。私はFirefox documentを読む未解決の変数へのReferenceErrorの割り当てでAJAX呼び出しが失敗するPostRPC

ReferenceError: assignment to undeclared variable PostRPC in category.php on line 3 col 2.

EDIT

を取得し、モーダルを開くためのボタンをクリックすると、しかし、私は値が宣言されていない変数に割り当てられているため、このエラーの種類があることを理解します。言い換えれば、varキーワードなしの割り当てがありました。宣言された変数と宣言されていない変数にはいくつかの違いがあります。予期しない結果につながる可能性があります。そのため、厳格なモードでJavaScriptにエラーが発生します。私は奇妙な私のコード内に宣言されていない変数がどこにあるのかを探そうとしています。

category.php

 <!DOCTYPE html> 
     <html lang="en"> 
     <head> 
     <script src="js/jquery.js"></script> 
        <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> 
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 

      <script src="js/jquery-migrate-1.2.1.js"></script> 
        <!-- Latest compiled and minified JavaScript --> 
     <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> 

      <script src="js/script.js"></script> 
      <script src="js/superfish.js"></script> 
      <script src="js/jquery.ui.totop.js"></script> 
      <script src="js/jquery.equalheights.js"></script> 
      <script src="js/jquery.mobilemenu.js"></script> 
      <script src="js/jquery.easing.1.3.js"></script> 
       <script src="js/jquery.tooltipster.js"></script> 
      <script> 
       $(document).ready(function(){ 
       $().UItoTop({ easingType: 'easeOutQuart' }); 
       $('.tooltip').tooltipster(); 
       }); 
      </script> 
      <script> 
      $(function(){ 
       $('#pull').on('click', function(e) { 
         e.preventDefault(); 
         $('#menu').slideToggle(); 
        }); 

      }) 
      </script> 
      </head> 

    <body> 

<?php $sql = "SELECT * FROM product WHERE featured = 1"; 
$featured = $db->query($sql); 
?> 

     <?php while($product = mysqli_fetch_assoc($featured)) : ?> 
     <div class="grid_4"> 
     <a href="#"> <img src="images/page2_img1.jpg" alt=""></a> 
      <div class="text1"><a href="#">Product Name</a></div> 
      <a href="#"> 120.00$ </a> 
      <div class="alright"><button type="button" class="btn btn-sm btn-success" onclick="detailsmodal(<?php echo $product['id']; ?>)">See Product</button></div> 
     </div> 
      <?php  endwhile; ?> 

<!--==============================footer=================================--> 
<?php include'/includes/footer.php'?> 
    </body> 

footer.php

<script src="js/classie.js"></script> 

    <script src="js/thumbnailGridEffects.js"></script> 
    <script> 
$(document).ready(function detailsmodal(id){ 
var data = {"id" : id}; 
jQuery.ajax({ 
    url : "<?php echo BASEURL;?>+ '/MyProjectName/includes/detailsmodal.php", 
    method : "post", 
    data : data, 
    success : function(data){ 
     jQuery('body').append(data); 
     jQuery('#details-modal').modal('toggle'); 
    }, 
    error : function(){ 
     alert("Something went wrong!"); 
    } 
}); 

}; 
    </script> 
+1

コードのどこにでもPostRPCが表示されません。 – Chris

+0

@Chris:私はJavascriptの初心者です...私はPostRPCをAJAX呼び出しに置くべきだと思いますか?私はPostRPCのドキュメントを見つけることができません。 –

+1

エラーメッセージは、Javascriptに 'PostRPC = something;'のようなステートメントがありますが、 'var PostRPC;'はありません。しかし、あなたが掲示したコードにはそういうものはありませんので、このスクリプトからどうやって来るのか分かりません。 strictモードでのみ発生し、 'use strict'はありません。 – Barmar

答えて

0

footer.php

上のJavaScriptでBASEURLのための別のパスを設定している私のために問題を解決した何代わりに

<script> 
$(document).ready(function detailsmodal(id){ 
var data = {"id" : id}; 
jQuery.ajax({ 
    url : "<?php echo BASEURL;?>+ '/MyProjectName/includes/detailsmodal.php", 
    method : "post", 
    data : data, 
    success : function(data){ 
     jQuery('body').append(data); 
     jQuery('#details-modal').modal('toggle'); 
    }, 
    error : function(){ 
     alert("Something went wrong!"); 
    } 
}); 

}; 
    </script> 

Do

私にとっては、すべてが修正されました。あなたが同じ問題を抱えている場合は、それがあなたのために働くまでパスを修正してください。それが助けになるかもしれない。

関連する問題