使用 Jquery 将 Javascript 值转换为 PHP
我的javascript文件:
var ms = 3000;
$.get("curl.php", { test: ms } );
我的curl.php:
$ms = $_GET("test");
echo $ms;
Firefox firebug说:
致命错误:函数名称必须是字符串 C:\Users\Jansu\Documents\workspace\php\curl.php 第 2 行
可能是什么问题?
更好的是 javascript 和 php 代码位于同一个文件中,这样我就不必发布/获取任何内容。只是以某种方式将 javascript 传递给 php。
My javascript file:
var ms = 3000;
$.get("curl.php", { test: ms } );
My curl.php:
$ms = $_GET("test");
echo $ms;
Firefox firebug says:
Fatal error: Function name must be a string in
C:\Users\Jansu\Documents\workspace\php\curl.php on line 2
what could be the problem?
Even better would be when the javascript and php code is in the same file, so I don't have to post/get anything. Just somehow pass javascript to php.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您需要
[]
,而不是()
( docs):重新编辑:
即使它们位于同一个文件中,它们也会在完全不同的地方执行。 JavaScript 在客户端执行,PHP 在服务器执行。要将数据从客户端发送到服务器,必须将数据发送到那里。 Ajax(您的做法)是您在不导致整个页面刷新的情况下执行此操作的主要方式,因此您走在正确的轨道上。
You want
[]
, not()
(docs):Re your edit:
Even if they're in the same file, they're executed in completely different places. The JavaScript is executed on the client, the PHP is executed on the server. To get data from the client to the server, it has to be sent there. Ajax (the way you did it) is the primary way you do that without causing a full page refresh, so you're on the right track.
您没有提到是否单独清理数据,而是提到 filter_input 函数 比直接调用 $_GET 更安全。
此外,对于 AJAX 调用,POST 通常被认为比 GET 更好,因为它没有相同的字符串长度限制,也稍微安全一些。
You don't mention if you are sanitising your data separately, but the filter_input function is more secure than calling $_GET directly.
Also POST is generally considered better than GET for AJAX calls as it doesn't have the same string length limit, slightly more secure too.
您可以在任何 HTML 元素中回显输出。这里我用的是div。
You can echo the output in any HTML element. Here i'm using div.