Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ajax数据发布无法通过发布的url_Javascript_Php_Jquery_Ajax_Post - Fatal编程技术网

Javascript Ajax数据发布无法通过发布的url

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',

我试图将数据发布到一个php站点,该站点只包含php代码,当在第一页上单击ID#mR RateableFramePicture时,应该执行这些代码。这是通过ajax请求完成的:

    $('#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 with
data:{“rateableUserID”:rateableUserID,“rateablePictureID”:rateablePictureID}
@Niladri已经在使用,但也不起作用:/似乎没有数据。