【问题标题】:JavaScript equivalent of this simple phpJavaScript 等价于这个简单的 php
【发布时间】:2011-01-13 20:09:42
【问题描述】:

请有人告诉我如何在 JavaScript 中执行以下 PHP。 PHP 中的变量是 Javascript 中的参数。如果设置了所有三个参数,那么我想要一个 PHP 脚本来执行:

<?php     
if isset($nation,$service,$slider)
    {
//execute php script
    }       
?>

感谢您的关注,也许可以提供帮助!

为了消除混淆,我要求将上面的所有 PHP 转换为 JavaScript 等价物。

除此之外,如果设置了所有 3 个参数,我想要一种在 JavaScript 中执行 PHP 脚本的方法。

【问题讨论】:

    标签: php javascript phpjs


    【解决方案1】:

    假设您的变量都没有零值或空值,例如,如果它们都是字符串,编写变量检查的最短方法就是使用它们:

    function blah (nation, service, slider)
    {
        if (nation && service && slider)
        {
            // do something...
        }
    }
    

    如果这些变量中的任何一个在设置时具有值 0、false 或 null,那么这将不是正确的方法。如果你想要 isset 函数的等价物,你可以使用这个:

    function isset()
    {
        for (var i=0, l=arguments.length; i < l; i++)
        {
            if (typeof arguments[i] == "undefined" || typeof arguments[i] == "null")
                return false;
        }
        return true;
    }
    

    像使用 php 函数一样使用它,例如isset(nation,service,slider);

    【讨论】:

      【解决方案2】:

      查看出色的 phpjs.org 内容。它是将 PHP 函数移植到 JavaScript 中

      The isset() function:

      function isset () {
          // http://kevin.vanzonneveld.net
          // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
          // +   improved by: FremyCompany
          // +   improved by: Onno Marsman
          // *     example 1: isset( undefined, true);
          // *     returns 1: false
          // *     example 2: isset( 'Kevin van Zonneveld' );
          // *     returns 2: true
      
          var a=arguments, l=a.length, i=0;
      
          if (l===0) {
              throw new Error('Empty isset'); 
          }
      
          while (i!==l) {
              if (typeof(a[i])=='undefined' || a[i]===null) { 
                  return false; 
              } else { 
                  i++; 
              }
          }
          return true;
      }
      

      用法:

      allVarsAvailable = isset(nation,service,slider);
      

      【讨论】:

      • 是的也可以推荐这个:)
      【解决方案3】:

      尚未测试,但看起来不错:

      function isset(variable_name){
        return(typeof(window[variable_name])!='undefined');
      }
      

      请注意,variable_name 本身不是变量,而是名称。

      【讨论】:

      • 你应该已经测试过了。为此,variable_name 的类型需要是一个字符串,它不等同于 php 的函数。删除window[],只剩下variable_name
      【解决方案4】:

      据我了解,您正在尝试拨打AJAX 电话。如果你使用像jQuery 这样的框架,代码应该是这样的:

      if ((typeof nation != 'undefined') && (typeof service != 'undefined') && (typeof slider != 'undefined')) {
          $.get("<your script>", function(data){
               alert("Data Received: " + data);
          });
      }
      

      如果这不是您要查找的内容,请重新表述您的问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-05-29
        • 2011-07-23
        • 1970-01-01
        • 1970-01-01
        • 2010-09-29
        • 2015-02-10
        • 1970-01-01
        相关资源
        最近更新 更多