我有一个按钮,它调用模式框淡入屏幕,说从按钮发布的值然后淡出,使用jquery可以正常工作,但我也想在单击按钮时将按钮发送的值发布到屏幕上php函数,可以运行并且模式框仍然淡入和淡出。
我只有这个让我的网站知道要使用什么js:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" ></script>
我还是个新手,所以对一个菜鸟问题感到抱歉,但是那会允许ajax运行,还是只针对jquery?
我正在尝试的当前脚本是:(根据回复进行了编辑,使其格式正确,但是现在什么都没有发生)
<script>
$('button').click(function()
{
var book_id = $(this).parent().data('id'),
result = "Book #" + book_id + " has been reserved.";
$.ajax
({
url: 'reservebook.php',
data: "book_id="+book_id,
type: 'post',
success: function()
{
$('.modal-box').text(result).fadeIn(700, function()
{
setTimeout(function()
{
$('.modal-box').fadeOut();
}, 2000);
});
}
});
});
</script>
尽管有了这个模态框甚至都没有发生。
php是resersebook.php:
<?php
session_start();
$conn = mysql_connect('localhost', 'root', '');
mysql_select_db('library', $conn);
if(isset($_POST['jqbookID']))
{
$bookID = $_POST['jqbookID'];
mysql_query("INSERT INTO borrowing (UserID, BookID, Returned) VALUES ('".$_SESSION['userID']."', '".$bookID."', '3')", $conn);
}
?>
更确切地说,该按钮是:
<div class= "obutton feature2" data-id="<?php echo $bookID;?>"><button>Reserve Book</button></div>
我是新手,在这里我还研究了许多其他类似的问题,这是我如何获得当前脚本的方式,但这根本行不通。
不确定是否重要,但仅具有模式框的脚本必须位于html主体的底部才能工作,不确定由于某种原因ajax是否需要位于顶部,但是模式框不会工作,只是一个想法。
试试这个。编辑为最终答案。
按钮 :
<div class= "obutton feature2" data-id="<?php echo $bookID;?>">
<button class="reserve-button">Reserve Book</button>
</div>
脚本 :
<script>
$('.reserve-button').click(function(){
var book_id = $(this).parent().data('id');
$.ajax
({
url: 'reservebook.php',
data: {"bookID": book_id},
type: 'post',
success: function(result)
{
$('.modal-box').text(result).fadeIn(700, function()
{
setTimeout(function()
{
$('.modal-box').fadeOut();
}, 2000);
});
}
});
});
</script>
reservebook.php :
<?php
session_start();
$conn = mysql_connect('localhost', 'root', '');
mysql_select_db('library', $conn);
if(isset($_POST['bookID']))
{
$bookID = $_POST['bookID'];
$result = mysql_query("INSERT INTO borrowing (UserID, BookID, Returned) VALUES ('".$_SESSION['userID']."', '".$bookID."', '3')", $conn);
if ($result)
echo "Book #" + $bookId + " has been reserved.";
else
echo "An error message!";
}
?>
PS#1 :mysqli
对您的代码的更改很小,但强烈建议这样做。
PS#2 :success
on
Ajax调用并不意味着query
成功。仅表示Ajax交易正确并获得了令人满意的响应。就是说,它发送url
了正确的数据,但并不总是发送正确的数据url
。
问题内容: 我的设置是这样的(为清楚起见简化了): 因此,每个方法(如果单击)都将淡入内联内容,但具有“ fb_method”类的锚点除外,因为它需要先执行AJAX请求,然后再附加到其内容容器中。 所以我的jQuery是这样的: 所以我想要的是,当用户第一次单击fb_method按钮时,它将请求AJAX。但是,如果他们突然改变主意并单击其他方法,我想中止先前的AJAX请求。 我通过Firebug跟
问题内容: 我想将数据发送到Java Servlet进行处理。数据将具有可变长度,并且在键/值对中: 数据不需要以这种方式格式化,这就是我现在的方式。 该功能工作正常,因为我确实收到“保存完成”的警报。我的困境是在servlet上。如何检索数据?我试图像这样使用HashMap … …但是结果为空,我猜这意味着找不到键/值对。我要去哪里错了或者我想念什么? 问题答案: 您不需要字符串,而是确实需要键
问题内容: 是什么区别 GET 和 POST 的 Ajax的 请求? 我看不到这两者之间的任何区别,除了当我使用 GET时 ,参数是在URL中发送的,这对我来说并没有任何区别,因为所有请求都是在后台进行的,并且用户找不到任何请求区别。 编辑:什么是 PUT 和 DELETE 方法? 问题答案: GET设计用于从服务器获取数据。POST(以及鲜为人知的朋友PUT和DELETE)设计用于修改服务器上的
问题内容: 我使用Django的内置DeleteView,并为属性分配了一个值。现在在我的模板中,我通过JQuery的$ .post()方法触发此视图。删除该项目后,我不会重定向到。经过一番搜索,我发现这似乎是AJAX post方法的问题,它忽略了重定向。 我通过添加一个函数将其设置为JQuery中的第三个参数来修复它。 但是,这种方式似乎不是Django。从本质上讲,它是从AJAX而非Djang
问题内容: 当我尝试通过Ajax(jQuery)将数组发送到Django时 JavaScript代码: 我尝试读取数组: 蟒蛇: 我只得到最后一个数组值: 我究竟做错了什么? 问题答案: 您正在寻找的 https://docs.djangoproject.com/zh-CN/2.0/ref/request- response/#django.http.QueryDict.getlist
我想做一个在线测验。我用socket.io只是听节点,仅此而已。需要使用ajax检索问题和回答他们从数据库与PHP.我生成随机数在app.js(节点js服务器文件)。' 插座发出(“问题”,随机数); '客户端: 插座关于(“问题”,功能(数据){ $. post("question.php",{"id": data},函数(res){ $('#问题区'). html(res); }); });