【问题标题】:How to use my PHP function in JavaScript code [duplicate]如何在 JavaScript 代码中使用我的 PHP 函数 [重复]
【发布时间】:2012-11-26 11:37:47
【问题描述】:

我正在尝试像这样在 JavaScript 中使用我的 PHP 函数:

PHP 代码:

function checkevents($date){
    $ev = new CalendarModelEventss();
    $wh = "`event_date` = '".$date."'";
    $all = $ev->getAllEvents('event_date', $wh);
    if($all == $date){
        //echo 'event is available'.$all;   
        return true;
    } else {
        return false;
        //echo 'event is NOT available' .'--'. $all;
    }
}

和 JavaScript 代码:

var yyyy = date.getLocalFullYear(true, this.dateType);
var mm = date.getLocalMonth(true,this.dateType);
var dd = iday;
var ddddd = yyyy+'/'+mm+'/'+dd;

if(<?php checkevents( ?>ddddd<?php ) ?>){
     cell.className += " eventsss ";
}

但它不起作用,我有 PHP 错误 (syntax error, unexpected ';', expecting ')' in ...)。

【问题讨论】:

  • 这是不可能的 - PHP 不能在客户端执行。
  • 基本上了解您尝试使用的技术会有所帮助。那么也许检查“服务器端”和“客户端”术语的含义,也能解决你的疑问?
  • 如果您对使用 php 进行验证非常讲究,则需要将数据发送到服务器并使用 AJAX 进行验证。
  • 此链接stackoverflow.com/questions/7165395/… 可能会对您有所帮助。
  • 此链接stackoverflow.com/questions/7165395/… 可能会对您有所帮助。

标签: php javascript


【解决方案1】:

Javascript 在客户端解析,PHP 在服务器端解析。
没有AJAX,这是不可能的。

JQuery 示例:

PHP:

...
    echo "true";//or something else that indicates the success
} else {
    echo "false";//or something else that indicates the failure
}
...

Javascript:

$.ajax({
  url: "URL TO YOU PHP SCRIPT",
  cache: false
}).done(function( html ) {
  if(html.match(/true/g)){
     cell.className += " eventsss ";
  }
});

【讨论】:

  • 更像:不向服务器发送请求是不可能的。您可以使用 JSONP 甚至 websocket 之类的技术来触发服务器端 php。
  • 谢谢,不过我想用for语句,用ajax没问题吗?
  • 你可以使用我上面写的 .match(/true/g) 。它在响应中查找“真”字并返回真或假,以便您可以使用它
【解决方案2】:

您不能直接使用 javascript 直接调用 php 函数,因为它们都在不同的方面。所以您要做的是使用某些参数进行 AJAX 调用,然后直接从该 php 文件调用该 php 函数,参数为验证。

然后通过回显输出将输出发送回 javascript,并在 javascript 上对其执行任何操作。

【讨论】:

    【解决方案3】:

    正如前面的演讲者所说,从 javascript 中直接调用 php 函数是不可能的。不过 PHP 可以用来输出 javascript。

    在您的情况下,您需要从客户端(使用 javascript)发送一个执行 php 代码(在服务器端)的 ajax 请求,获取输出并将其放入您的 if 语句中。

    如果你不太了解 javascript/AJAX,你可以看看 jQuery 或其他类似的框架。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-20
      • 2013-02-05
      • 1970-01-01
      • 2012-04-29
      • 2017-12-04
      • 2020-06-14
      • 1970-01-01
      • 2023-03-07
      相关资源
      最近更新 更多