【问题标题】:How to call Php function with js params如何使用 js 参数调用 Php 函数
【发布时间】:2022-01-24 23:12:47
【问题描述】:

我需要在 javascript 中使用 js 参数调用 php 函数。 类似的东西。

function test(data) {
    $.each(data,function(key, item) {
        let resVal = '{{encryptId('+item.id+') }}';
    })
}

encryptId 是 php helper 文件中定义的函数。

请建议它可以工作

谢谢!!

【问题讨论】:

  • 不能。 PHP 在页面发送到用户浏览器之前在服务器上执行。 JS收到后在浏览器中执行。您必须编写一个执行与 PHP encryptId() 函数相同的 JS 函数。
  • @GilesBennett 谢谢!!我会按照建议的方法尝试
  • 您可以尝试将PHP函数的结果添加到页面隐藏字段并在JS中获取此数据..或使用AJAX

标签: javascript php jquery laravel


【解决方案1】:

这是不可能的,但一种解决方法是使用 ajax 请求。您可以通过javascript点击php的功能,也可以发送参数

【讨论】:

  • 不能使用 ajax,因为循环可能有数千个。
  • 您可以使用全局标志,并且仅在标志为真时运行。在开始时将标志设置为 true,一旦发出 ajax 请求,将标志设置为 false。然后它只会运行 1 次。
【解决方案2】:

这是不可能的,PHP和javascript是在不同的时间执行的,

你的PHP是在服务器上执行的,在任何数据发送到客户端之前,服务器本身并不知道javascript是什么

你的javascript是在客户端执行的,当他收到PHP预格式化的所有代码后,客户端不知道PHP是什么,也不知道如何解释它

做到这一点的唯一方法是在 javascript 中具有相同的功能

【讨论】:

    【解决方案3】:

    Javascript 在客户端(即浏览器)上运行,而 PHP 是一个服务器端工具(即服务器端)。很明显,两者只是无法互动。

    你可以试试 AJAX

    #JS FILE
    function encryptId(item) {
        .ajax {
            file : phpFile
            item : item
        }
    }
    
    function test(data) {
        $.each(data,function(key, item) {
            encryptId(item.id)        
        })
    }
    
    #PHP FILE
    Here You can catch that variable and call this function
    

    【讨论】:

      猜你喜欢
      • 2021-07-23
      • 2017-11-21
      • 2021-04-07
      • 2017-09-29
      • 1970-01-01
      • 2013-06-30
      • 2019-08-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多