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>
コードのどこにでもPostRPCが表示されません。 – Chris
@Chris:私はJavascriptの初心者です...私はPostRPCをAJAX呼び出しに置くべきだと思いますか?私はPostRPCのドキュメントを見つけることができません。 –
エラーメッセージは、Javascriptに 'PostRPC = something;'のようなステートメントがありますが、 'var PostRPC;'はありません。しかし、あなたが掲示したコードにはそういうものはありませんので、このスクリプトからどうやって来るのか分かりません。 strictモードでのみ発生し、 'use strict'はありません。 – Barmar