需要将角度js值传递给php函数吗?

时间:2016-11-30 11:50:12

标签: php angularjs

我需要翻译值,这就是我编写函数的原因,我需要将角度值传递给php函数。

  

如php函数是

 <?php bn_translate(); ?>
  

和角度js值是

 {{ result.min_tenure }}
  

我试过这两种方式,但没有改变

<?php print bn_translate("{{ result.min_tenure }}"); ?>
and
{{ <?php print bn_translate("result.min_tenure") }}; ?>
  

或者如果我尝试了成功翻译的测试值

<?php print bn_translate("5"); ?> or <?php print bn_translate(5); ?>

是否可以将值传递给php函数才能正常工作?

3 个答案:

答案 0 :(得分:0)

首先运行PHP,然后运行角度js。因此,您尝试将未来的变量(angular js)传递给过去调用的函数(PHP)。

您实际上是在要求PHP执行以下操作:

<?php bn_translate("null"); ?>

角度JS中的值尚不存在。

做你想做的事的唯一方法是通过AJAX将变量发送到带有该函数的php脚本。

答案 1 :(得分:0)

您将使用ajax调用将值从前端传递到后端,通常使用类似json的格式。但是,对于像翻译这样的东西,如果可能的话,你应该尽量避免往返服务器。好的解决方案是使用angular-gettextangular-translate

注入$ http

控制器

$http({
    url: "script.php",
    method: "POST",
    data: {
        data: result.min_tenure
    }
}).success(function(translated) {
    console.log(translated);
});

<强>的script.php

<?php
$request = json_decode( $_POST['data'] );
$text = $request->data
$translated = bn_translate($text)
echo (json_encode($text));

答案 2 :(得分:-1)

您可以为PHP变量赋值并传递给php函数

<?php
    $value = "{{ result.min_tenure }}";
?>