将字符串从php传递给js函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将字符串从php传递给js函数相关的知识,希望对你有一定的参考价值。

无法将字符串从php页面传递到另一个页面的js函数。

检查添加项是否存在于数组中后显示消息。我已尝试在警告声明中添加引号或不引用1.在alert语句中使用引号,javascript未转换语句但只是直接显示它。 2.在警告声明中没有引号,Chrome表示如果没有引号则会出错。

add_product.php(js函数):

function add_to_cart(){
  jQuery('#modal_errors').html("");
  var error='';
  var available =$("#size option:selected").data("available");
  var quantity = jQuery('#quantityInput').val();
  {document.getElementById("available").value = available;
     var data = jQuery('#add_product_form').serialize();
     jQuery.ajax({
        url : 'cart.php',
        method : 'post',
        data : data,
        success: function(){
            alert("<?php echo $respMsg; ?>");
            location.reload();},
        error : function(){alert("something wrong");}
                });
        return;
}

cart.php:

if ($duplicate==false){
    $respMsg="The item is in cart now.";
} else {
    $respMsg="You have added the item twice.";
}

我希望js msgbox弹出窗口显示其中一条php消息,但实际输出要么是告诉语法错误要么是显示代码字符串。

答案

如果你想打印你的回复,那么你不能说alert("<?php echo $respMsg; ?>");

您需要做的是实际获取回调中的数据并提醒该数据。

success: function(data){
            alert(data);
            location.reload();
},
另一答案

首先,你需要使用一个函数到cart.php返回$respMsg结果,然后使用来自de jQuery.ajax函数的data响应来提醒消息:

jQuery.ajax({
   url : 'cart.php',
   method : 'post',
   data : data,
   success: function(data){
              alert("Message: " + data);
              location.reload();
            },
   error : function(){
             alert("something wrong");
            }
});

有关data响应和success响应的更多信息,请访问jQuery manual

编辑:你还需要在这里删除花括号:

{document.getElementById("available").value = available;

它可能会导致JS语法错误。

以上是关于将字符串从php传递给js函数的主要内容,如果未能解决你的问题,请参考以下文章

将Array从JS传递给PHP并创建SESSION变量

通过XmlHttpRequest将数据从JS传递给PHP

如何将 PHP 字符串传递给 Javascript 函数调用? [复制]

如何从 Blade 格式 HTML 将 PHP 变量传递给 JavaScript 函数

将 js 数组发布到 PHP 并在数据库查询中使用它

通过DOM元素数据集将回调传递给js