javascript - 将 javascript 值传递给 PHP

标签 javascript php

作为 Web 开发人员,我是一个新手,我发现自己正在尝试解决一个问题。

我想在不使用任何表单方法的情况下将值 JavaScript 传递给 PHP。

这是我的 PHP 代码(这是一个幻灯片放映,其中我在 img 标记中放置了一个 onclick 事件,以便获取被单击的图像的 id,然后id 信息存储在我的 JavaScript 文件中的一个变量中。问题是:如何将该变量从我的 JavaScript 文件传递​​给 PHP?):

提前致谢。 最好的问候,

function getIdImage(clicked_id)
{
    // alert(clicked_id);

    var ClickedId= clicked_id;

  }
<div class="row">
  <div class="col-xs-12 col-md-12 col-lg-12 widhest">
     <div class="bx_wrapper_photo_below">
        <ul id="bx_slider_photo_below" class="bx_viewport_photo_below">

         <?php while($line = mysqli_fetch_assoc($outcomesListPhotos1)) {?>
            <li>
                     <img src="photos/<?php echo utf8_encode($line['photo']); ?>" class="img-responsive" onclick="getIdImage(<?php echo utf8_encode($line['id_photo']);?>)">                
             </li>

         <?php }?>
        </ul>

        <a class="pager-prev_below"><i class="icon-chevron-left"></i></a>
        <a  class="pager-next_below"><i class="icon-chevron-right"></i></a>
    </div>
   </div>
</div>

法比奥

最佳答案

如果您使用的是标准设置,则每次向服务器发出请求时,您的 PHP 代码都会从头到尾运行。它不会像您页面上的 Javascript 代码那样“按需”运行。因此,为了将值传递给 PHP 脚本,您必须向您的服务器(PHP 代码所在的位置)发送请求,并在请求负载中传递所需的值。可以通过简单链接、常规范式或 XHR 发送请求。如果您不想重新加载页面,但想在服务器上运行一些代码,并在完成后在浏览器上做一些事情,那么您可以选择 XHR 工具。

为了发送 XHR,您可以自己从头开始构建它,或者您可以使用许多可用的库之一,这当然是推荐的途径。假设您想使用 jQuery:

function getIdImage(clicked_id)
{       
    jQuery.ajax({
       url: '/url/to/my/script.php',
       type: 'POST',
       dataType: 'json',
       data: { clicked_id: clicked_id },
       success: function(result) {
           // This function will be called when the server returns a success (200 OK) response
           console.log(result);
           alert('Yay!');
       },
       error: function(xhr) {
            // This function is called when the server fails to process the request, for whatever reason
            console.log(xhr);
            alert('Nay!');
       }
    });
}

在你的服务器上,你将有一个脚本来处理这个请求,你在 URL 中指向的那个,你将能够使用请求中传递给脚本的任何有效负载

<?php

$data = json_decode($_POST);

echo "The ID of the clicked image is: " . $data->clicked_id;

当然这个例子不会做太多,它只会返回回显的字符串作为响应。根据您想要执行的操作,您需要在进行一些有意义的计算后构建一个响应,并且响应本身应该是 JSON 格式(使用良好的旧 json_encode 内置 PHP 函数)。

关于javascript - 将 javascript 值传递给 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37086813/

相关文章:

php - 参数化查询的例子

php - 开发一致库的最佳实践是什么?

javascript - 如何在require.js中设置模块的默认插件?

php - SQL 注入(inject)漏洞神奇地 self 修复?

javascript - Angular ng-repeat View 在搜索后不会更新

javascript - 从元素列表中获取所选元素的对象 Angular 4

php - 循环后关闭div

php - Predis 给出 'Error while reading line from server'

javascript - 禁用多个表单的 HTML5 表单验证

javascript - Rails 在销毁后在 js 中渲染另一个 Controller 操作