Javascript 未在keyup上过帐的变量

Javascript 未在keyup上过帐的变量,javascript,php,jquery,Javascript,Php,Jquery,每次击键时,输入的值都应该转到PHP进行动态验证。JS: $("#coupon-code").on('keyup', function () { var coupon = $("#coupon-code").val(); $.ajax({ url:"C:/xampp/htdocs/lessdoing/lessdoinglive.com/checkout/page-2/full-pay/coupons/coup

每次击键时,输入的值都应该转到PHP进行动态验证。JS:

    $("#coupon-code").on('keyup', function () {
            var coupon = $("#coupon-code").val();
            $.ajax({
                url:"C:/xampp/htdocs/lessdoing/lessdoinglive.com/checkout/page-2/full-pay/coupons/coupons.php",
                type: "POST",
                data: {coupon: coupon}
            }).done(function (data) {
                if (data === "success") {
                    $('#coupon-code').css("background-color", "green");
                }
                else {
                    $('#coupon-code').css("background-color", "red");
                }
            })
        });
PHP:

我没有看到脚本在控制台中发出任何回声。变量未过帐。

1。网址 它实际上不是一个由web服务器处理的URL。文件是由浏览器从文件系统打开的,不做任何事情,因为它不是通过php预处理器推送的。如果您可以使用
http://127.0.0.1/lessdoing/checkout/page-2/full-pay/coupons/coupons.php
,您的URL应该是
/lessdoing/checkout/page-2/full pay/coups/coups.php
。充分代表也应该有效,但不是必要的

2.控制台中不会有回声 由于PHP脚本的一部分是在服务器端运行的,所以浏览器控制台中不会有回音。要在浏览器中回声任何东西,您必须在JS中的
.done()
回调中实现,例如:

.done(function (data) {
    console.log(data);
    if (data === "success") {
        $('#coupon-code').css("background-color", "green");
    }
    else {
        $('#coupon-code').css("background-color", "red");
    }
})
3.邮局 您的JS脚本当前未将PHP识别的表单格式发送到
$\u POST
数组。此修复很快,您需要
数据类型:“html”

$.ajax({
    url:"/lessdoing/lessdoinglive.com/checkout/page-2/full-pay/coupons/coupons.php",
    type: "POST",
    dataType: 'html',
    data: {coupon: coupon}
})
4.PHP升级 正如在另一个答案中,当您在
$coups
数组中放置两次优惠券,并生成“successsuccess”而不是“success”时,可能会出现这种情况。网址 它实际上不是一个由web服务器处理的URL。文件是由浏览器从文件系统打开的,不做任何事情,因为它不是通过php预处理器推送的。如果您可以使用
http://127.0.0.1/lessdoing/checkout/page-2/full-pay/coupons/coupons.php
,您的URL应该是
/lessdoing/checkout/page-2/full pay/coups/coups.php
。充分代表也应该有效,但不是必要的

2.控制台中不会有回声 由于PHP脚本的一部分是在服务器端运行的,所以浏览器控制台中不会有回音。要在浏览器中回声任何东西,您必须在JS中的
.done()
回调中实现,例如:

.done(function (data) {
    console.log(data);
    if (data === "success") {
        $('#coupon-code').css("background-color", "green");
    }
    else {
        $('#coupon-code').css("background-color", "red");
    }
})
3.邮局 您的JS脚本当前未将PHP识别的表单格式发送到
$\u POST
数组。此修复很快,您需要
数据类型:“html”

$.ajax({
    url:"/lessdoing/lessdoinglive.com/checkout/page-2/full-pay/coupons/coupons.php",
    type: "POST",
    dataType: 'html',
    data: {coupon: coupon}
})
4.PHP升级 正如在另一个答案中,当您在
$coups
数组中放置两次优惠券并生成“successsuccess”而不是“success”时,很难,但可能是一种情况

这一行必须是url。您编写了服务器文件路径

.done(function (data) {
alert(data);
                if (data === "success") {
                    $('#coupon-code').css("background-color", "green");
                }
                else {
                    $('#coupon-code').css("background-color", "red");
                }
            })
如果您添加了报警功能,您可以看到数据变量值

$coupons = array("foobar", "coupon");

foreach($coupons as $coupon) {
    if ($_POST["coupon"] === $coupon) {
        echo "success";
break;
    } else {
        echo 'invalid';
    }
}
及 如果您在“成功突破”区域中添加“突破”,则性能将升级。也可以使用in_数组函数

$coupons = array("foobar", "coupon");

if (in_array($_POST["coupon"], $coupons)) {
   echo "success";
} else {
   echo "invalid";
}
这一行必须是url。您编写了服务器文件路径

.done(function (data) {
alert(data);
                if (data === "success") {
                    $('#coupon-code').css("background-color", "green");
                }
                else {
                    $('#coupon-code').css("background-color", "red");
                }
            })
如果您添加了报警功能,您可以看到数据变量值

$coupons = array("foobar", "coupon");

foreach($coupons as $coupon) {
    if ($_POST["coupon"] === $coupon) {
        echo "success";
break;
    } else {
        echo 'invalid';
    }
}
及 如果您在“成功突破”区域中添加“突破”,则性能将升级。也可以使用in_数组函数

$coupons = array("foobar", "coupon");

if (in_array($_POST["coupon"], $coupons)) {
   echo "success";
} else {
   echo "invalid";
}

您需要发布到实际运行web服务器并处理php的url。以
http
开头的东西仍然不起作用。很抱歉,在您发表评论后,我不得不修改我的url。我认为您的url应该是“http://localhost/lessdoing…”如果您正在运行xampp Apache,我认为您需要将您的url至少更改为
http://localhost/lessdoing ... 等(请记住,url表示
统一资源定位器,internet地址
表示您必须使用internet地址)。确保您也检查了是否正在调用该文件。如果你有chrome浏览器,你可以查看参考资料,看看文件是否被调用,或者它是否找不到。我将路径更改为相对路径,现在XHR正在执行。但是,它仍然没有验证。您需要发布到一个实际运行web服务器并处理php的url。以
http
开头的东西仍然不起作用。很抱歉,在您发表评论后,我不得不修改我的url。我认为您的url应该是“http://localhost/lessdoing…”如果您正在运行xampp Apache,我认为您需要将您的url至少更改为
http://localhost/lessdoing ... 等(请记住,url表示
统一资源定位器,internet地址
表示您必须使用internet地址)。确保您也检查了是否正在调用该文件。如果你有chrome浏览器,你可以查看参考资料,看看文件是否被调用,或者它是否找不到。我将路径更改为相对路径,现在XHR正在执行。但是它仍然没有验证。我将路径更改为相对路径,现在请求的结果是200。但它仍然没有得到验证。你看到PHP脚本有什么问题吗?由于某种原因不能正常工作。田地没有变绿。在_array
函数中更改为
,现在它可以工作了。@StevensHaen如果您发现我的答案解决了您的问题,请单击它左侧的“检查”标记接受它。对于那些尚未解决的问题,它会将已回答的问题标记为不保留在搜索结果中。我将路径更改为相对路径,现在请求的结果为200。但它仍然没有得到验证。你看到PHP脚本有什么问题吗?由于某种原因不能正常工作。田地没有变绿。在_array
函数中更改为
,现在它可以工作了。@StevensHaen如果您发现我的答案解决了您的问题,请单击它左侧的“检查”标记接受它。它会将已回答的问题标记为不保留在尚未解决的问题的搜索结果中。