Javascript 用Ajax调用PHP代码
请查看以下代码Javascript 用Ajax调用PHP代码,javascript,php,jquery,ajax,cakephp,Javascript,Php,Jquery,Ajax,Cakephp,请查看以下代码 <?php //echo $this->Html->css(array('bootstrap', 'mark', 'style')); echo $this->Html->script(array('timer','swfobject','bootstrap.min.js')); //$this->requestAction('/flip2/correctAnswer') ?> <style> #hideall {
<?php
//echo $this->Html->css(array('bootstrap', 'mark', 'style'));
echo $this->Html->script(array('timer','swfobject','bootstrap.min.js'));
//$this->requestAction('/flip2/correctAnswer')
?>
<style>
#hideall {
display: none;
opacity: 0.7;
position: fixed;
height: 100%;
width: 100%;
top: 0;
left: 0;
background: #000;
border: 1px solid #cecece;
z-index: 1;
vertical-align:middle;
text-align:center;
}
.removeCardflip{
transition: rotateY(0deg);
-webkit-transition: rotateY(0deg);
transition-duration: 0s;
}
/* SECTIONS */
.section {
clear: both;
padding: 0 10px 0 10px;
margin: 0px;
}
</style>
<div id="hideall">
<?php //echo $this->Html->image('progress.gif', array('alt' => 'Wait', 'style' => 'text-align:center; padding-top:200px;'));?>
</div>
<!--<div class="wrapper" style="border: 1px solid red; width: 100%;">-->
<div class="section group" style="margin-top: 50px;">
<div class="col span_3_of_3">
<h3 style="margin:0px; font-size:22px;">Play word game: </h3>
</div>
</div>
<div class="">
<div>
<div>
<span class="remainWords"><?php //echo count($words);?></span> oxxxxxxxxxxxxxxxf <?php //echo $totalWords;?>
</div>
<div>
<?php
echo $this->Html->image("comic_edit.png",
array(
"alt" => "Pareto List",
"id" => "paretoList",
'url' => "javascript:;"
)
);
?>
</div>
</div>
</div>
<div class="container"><div class="row">
<?php
foreach($worddeck as $worcard)
{
?>
<div class="xy col-lg-3 col-md-4 col-sm-6 img-rounded" id="card1" style="width:250px; height:200px; background-color:grey; heiht:170px; margin: 10px 10px;">
<div id="enside1" >
<h1 data-pos="<?php //echo ; ?>" ><?php echo $worcard['unique_wordsforcards']['en_word']; $enSpell = $worcard['unique_wordsforcards']['en_word']; ?></h1>
</div>
<div id="ptside1" style="display:none;">
<?php echo $phonemer[$enSpell]; ?>
<p><?php echo $worcard['unique_wordsforcards']['hint']; ?></p>
</div>
<div id="cntrol1">
<button type="button" id="acertei" class="a btn btn-success mr5 btn-lg">Acertei</button>
<button type="button" id="Errei" class="e btn btn-danger mr5 btn-lg">Errei</button>
</div>
</div>
<?php
}
?>
</div></div>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script type="text/javascript">
$(document).ready(function(){
$( ".btn-danger" ).click(function(){
console.log("Red Button");
var toclose = $(this).parent().parent();
$.ajax({
url: "../img/media.jpg",
}).done(function() {
console.log( "The act has been done");
toclose.toggle();
});
});
$( ".btn-success" ).click(function(){
console.log("Red Button");
var toclose = $(this).parent().parent();
$.ajax({
url: "../img/media.jpg",
}).done(function() {
console.log( "The act has been done");
toclose.toggle();
});
});
$( ".xy" ).click(function(){
$(this).find("#enside1").toggle();
$(this).find("#ptside1").toggle();
console.log(this);
});
$("#acertei").on("click", function() {
$.ajax({
url: "/flip2/correctAnswer",
success: function(data) {
// Do whatever you need to do with the response here.
},
});
});
});
</script>
#希德尔{
显示:无;
不透明度:0.7;
位置:固定;
身高:100%;
宽度:100%;
排名:0;
左:0;
背景:#000;
边框:1px实心#cecece;
z指数:1;
垂直对齐:中间对齐;
文本对齐:居中;
}
.removeCardflip{
过渡:旋转(0度);
-webkit转换:旋转(0度);
转换持续时间:0s;
}
/*部分*/
.科{
明确:两者皆有;
填充:0 10px 0 10px;
边际:0px;
}
玩文字游戏:
OXXXXXXXXXXXXXXXXF
Acertei
二垒
$(文档).ready(函数(){
$(“.btn危险”)。单击(函数(){
控制台日志(“红色按钮”);
var toclose=$(this.parent().parent();
$.ajax({
url:“../img/media.jpg”,
}).done(函数(){
console.log(“行为已经完成”);
toclose.toggle();
});
});
$(“.btn成功”)。单击(函数(){
控制台日志(“红色按钮”);
var toclose=$(this.parent().parent();
$.ajax({
url:“../img/media.jpg”,
}).done(函数(){
console.log(“行为已经完成”);
toclose.toggle();
});
});
$(“.xy”)。单击(函数(){
$(this.find(“#enside1”).toggle();
$(this.find(“#ptside1”).toggle();
console.log(this);
});
$(“acertei”)。在(“单击”,函数()上{
$.ajax({
url:“/flip2/correctAnswer”,
成功:功能(数据){
//对这里的回复做任何你需要做的事情。
},
});
});
});
这是CakePHP
页面的视图$this->requestAction('/flip2/correctAnswer')
将调用Controller
中的correctAnswer()
方法
在这里,如果我在页面加载时调用$this->requestAction('/flip2/correctAnswer')
,这就可以了。当点击Acertei
按钮时,我需要调用它,因此我将它添加到Ajax
中,正如一位so用户所建议的那样。但是,它没有工作,函数没有被调用。这是为什么?我建议首先给你的Acertei按钮一个唯一的ID,比如“Acertei”(它目前与它的兄弟按钮共享ID“2”)。然后使用jQuery可以执行以下操作:
$("#acertei").on("click", function() {
$.ajax({
url: "/flip2/correctAnswer",
success: function(data) {
// Do whatever you need to do with the response here.
},
});
});
这将向Acertei按钮添加一个单击事件,该事件将启动对“flip2/correctAnswer”URL的AJAX请求。Simple…..查找AJAX要在HTML按钮上执行PHP代码,您可以在iframe中打开一个页面,将表单发布到PHP页面/重定向到PHP页面,或者对所述PHP页面进行AJAX调用。@Ejay:否,代码是CakePHP
,它不打开页面,它调用URL来更新数据库。非常令人失望的是,已经回答了您的问题,并且看到您决定基本上放弃它,然后再次问相同的问题。如果您有一个与重复修剪不同的特定问题,请使用您的代码示例来说明这一点。照原样:-1我已经有了。请停止这种行为-如果你想制造火箭,如果你不知道如何使用螺丝刀,请先询问如何使用螺丝刀。嗨,它不起作用。我用你的示例代码更新了我的代码,请看一看。你的示例看起来很好-你得到了什么错误?没有错误。该方法应该更新数据库,但不会发生。但是,如果我在页面加载时调用$this->requestAction('/flip2/correctAnswer')
(请参见注释行),这就可以了。我需要下载Ajax API或其他什么吗?@HashMap您可能还需要阅读。