2014-05-10 106 views
0

我在我的应用程序上有一个星级评分系统 - 下面的代码在PHP文档中工作正常。但是,当我删除它并将其放置在js文件中时,它不起作用。AJAX没有从外部目录提交

有人请让我知道为什么它不工作时,我打电话给js文件。谢谢。

<script> 
$(document).ready(function(){ 
$('.rate-btn').hover(function(){ 
    $('.rate-btn').removeClass('rate-btn-hover'); 
     var rating = $(this).attr('id'); 
     for (var i = rating; i >= 0; i--) { 
     $('.rate-btn-'+i).addClass('rate-btn-hover'); 
    }; 
    }); 

$('.rate-btn').click(function(){  
var rating = $(this).attr('id'); 
var dataRate = 'act=rate&app_id=<?php echo $app_id; ?>&id=<?php echo $id; ?>&rate='+rating; 
$('.rate-btn').removeClass('rate-btn-active'); 
for (var i = rating; i >= 0; i--) { 
    $('.rate-btn-'+i).addClass('rate-btn-active'); 
}; 

$.ajax({ 
type : "POST", 
url : "submitRating.php", // I have tried changing this to reflect the directory 
data: dataRate, 
success:function(){} 
}); 

}); 


}); 
</script> 
+7

从您的js文件中删除''也许? – Se0ng11

+4

在js文件中,你不能显示php变量'var dataRate ='act = rate&app_id = <?php echo $ app_id; ?>&id = <?php echo $ id; ?>&rate ='+ rating;' –

+0

另外,检查Ajax调用中的URL(相对路径)是否响应。 –

回答

0

什么 “TamilSelvan” 说的是正确的,你不能在JS文件注入PHP代码。尝试保留webstorage(或cookie)中的app_id和id,如果您从其他页面重定向到此页面,然后在js文件中使用它们,请首先使AJAX调用检索app_id和id,然后使用它们。