JavaScript相当于这个简单的php

时间:2010-02-06 10:03:56

标签: php javascript phpjs

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

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

感谢您的关注,也许还有帮助!

为了清除任何混淆,我要求将上述所有PHP转换为等效的JavaScript。

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

4 个答案:

答案 0 :(得分:3)

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

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);

答案 1 :(得分:1)

查看精彩的phpjs.org内容。这是PHP函数的端口

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);

答案 2 :(得分:0)

根据我的理解,您正在尝试AJAX电话。如果您使用像jQuery这样的框架,代码将类似于:

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

如果这不是您想要的,请重新提出您的问题。

答案 3 :(得分:0)

尚未测试,但看起来正确:

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

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