Javascript Ajax数据发布无法通过发布的url
我试图将数据发布到一个php站点,该站点只包含php代码,当在第一页上单击ID#mR RateableFramePicture时,应该执行这些代码。这是通过ajax请求完成的:Javascript Ajax数据发布无法通过发布的url,javascript,php,jquery,ajax,post,Javascript,Php,Jquery,Ajax,Post,我试图将数据发布到一个php站点,该站点只包含php代码,当在第一页上单击ID#mR RateableFramePicture时,应该执行这些代码。这是通过ajax请求完成的: $('#mR-RateableFramePicture').dblclick(function() { $.ajax({ type: "POST", url: 'moduleRateable/scriptSavedStyle.php',
$('#mR-RateableFramePicture').dblclick(function() {
$.ajax({
type: "POST",
url: 'moduleRateable/scriptSavedStyle.php',
data: { rateableUserID: rateableUserID, rateablePictureID: rateablePictureID},
success: function() {
$('#DynamicContent').load('moduleRateable/scriptSavedStyle.php');
}
});
});
var rateableUserID = $('input[name="rateableUserID"]').val();
var rateablePictureID = $('input[name="rateablePictureID"]').val();
这里是ajax发布到的url目标:
<?php
// Start the session (enable global $_SESSION variable).
session_start();
// Include database-link ($conn).
include '../../scriptMysqli.php';
// Make global variable to simple variable.
$userID = $_SESSION["ID"];
//Save the rateable style to one owns libary of saved styles.
$ratedUserID = $_POST['rateableUserID'];
$ratedPictureID = $_POST['rateablePictureID'];
$sql = $conn->query("UPDATE styles WHERE userID = '$ratedUserID;' AND
pictureID = '$ratedPictureID' SET savedByUser = '$userID'");
?>
您没有在$.ajax({})
调用中传递变量rateableUserID和rateablePictureID的值,如下所示-
数据:{rateableUserID:rateableUserID,rateablePictureID:rateablePictureID}
。除非它们是全局定义的,否则您将在PHP端获得未定义的值。在进行调用之前,请确保已将该值分配给rateableUserID和rateablePictureID。但是,仍然需要检查您是否在post请求中实际传递了该变量,因为PHP找不到键名
函数应该如下所示
$('#mR-RateableFramePicture').dblclick(function() {
var rateableUserID = $('input[name="rateableUserID"]').val();
var rateablePictureID = $('input[name="rateablePictureID"]').val();
$.ajax({
type: "POST",
url: 'moduleRateable/scriptSavedStyle.php',
data: { "rateableUserID": rateableUserID, "rateablePictureID": rateablePictureID},
success: function() {
$('#DynamicContent').load('moduleRateable/scriptSavedStyle.php');
}
});
});
抱歉,我忘了添加javascript变量,它现在已更新:即使未定义,该键仍应存在,并且不会抛出索引未定义的错误。因为PHP基本上以{reteablueserid:undefined,ratablePictureId:undefined}
的形式接收对象,所以我尝试将javascript变量放入函数中,但这似乎也没有帮助:/@Johannes在控制台$('input[name=“ratableUserId”]')中运行下面的命令,检查您得到了什么值代码>在函数内部调试时。顺便说一句,您使用双击来触发函数,而不是单击。我不知道这是否是您的要求。发布$('input[name=“rateableUserID]”)时。val();在chroms控制台内,它返回正确的值,双击exchange会破坏变量:(@NiladriHave您是否尝试在客户端(发送的请求标头)和服务器端(the$\u POST
global)进行检查?我试图在第一页的ajax请求中显示带有警报的变量rateableUserID,这导致javascript变量中存在正确的值,但正如错误所示,是否没有定义$_POST变量:/try withdata:{“rateableUserID”:rateableUserID,“rateablePictureID”:rateablePictureID}
@Niladri已经在使用,但也不起作用:/似乎没有数据。