简体   繁体   English

将javascript变量传递给同一文件中的php

[英]Pass javascript variable to php in same file

Is it possible to pass a javascript variable to php code in the same file?是否可以将 javascript 变量传递给同一文件中的 php 代码?

For example I did this, in my example.php:例如我这样做,在我的example.php:

JS JS

$.ajax({
       url: 'example.php',
       type: 'POST',
       data: {var: 12345},
       success: function(data) {
             console.log("success");
       }
});

PHP PHP

$var = $_POST['var'];
echo $var;

But it doesn't work.但它不起作用。 Any solutions?任何解决方案?

$.ajax({
   url: 'example.php',
   type: 'POST',
   data: {var: 12345},
   success: function(data) {
         console.log("success");
   }
});

Your AJAX request expect a response (you assigned it to data variable).您的AJAX请求需要一个响应(您将其分配给data变量)。 You should elaborate more the value returned by your PHP script, like console.log(data) to see what it is returning.您应该详细说明PHP脚本返回的值,例如console.log(data)以查看它返回的内容。

Your PHP file can't write it directly to your html file, because it is a server-side operation and your page is already loaded.你的PHP文件不能直接写入你的 html 文件,因为它是服务器端操作,你的页面已经加载。 I think you should add some request-type logic in you PHP too if you want to have HTML file rendering and Javascript AJAX requests both in the same file.我认为如果你想在同一个文件中同时拥有HTML文件渲染和Javascript AJAX请求,你也应该在你的 PHP 中添加一些请求类型的逻辑。

A solution could be to catch the AJAX[POST] request in PHP code and return some HTML or String values to attach in HTML like $(body).append(data);一种解决方案可能是在PHP代码中捕获AJAX[POST]请求并返回一些HTML字符串值以附加在 HTML 中,如$(body).append(data);

Here you can learn more: https://www.w3schools.com/php/php_ajax_php.asp在这里可以了解更多: https : //www.w3schools.com/php/php_ajax_php.asp

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM