将jquery请求发送到PHP脚本

时间:2012-11-12 09:06:30

标签: php jquery ajax

我有一个功能,可以检查取件地址中的搜索是否包含机场,如下所示: -

function checkIsAirport(str) {

var myRegExp = /\bAIRPORT\b/i;

return str.match(myRegExp);

}


// Check if label contains an airport..
    if (checkIsAirport(label.html()) != null &&
        label.parent().parent().attr('title') == "Pickup") {

//FUNCTION

}

基本上我需要做的是如果皮卡包含机场地址,则加上“x”金额的“附加费”。因此,如果机场设置为盖特威克机场,则会将其发送至tariff.fare.controller.php,这将为票价添加“x”。我只是想知道如何才能做到这一点。

此外,如果用户将取件从机场更改为无机场地址,则必须从票价中减去“x”。

非常感谢任何帮助!

::编辑::

只是为了实现这一点,我想要使用AJAX。一旦用户在拾取地址中输入机场,就需要将请求发送到我的TariffFareController类以执行以下功能:

private static function getFinalFare($fare) {

    $final_fare = ($fare * self::$fare_factor);

    if (self::$str_wait_return == "true") {
        $final_fare = $final_fare * 2;
    }

    if (self::$str_return == "true" && self::$return_date != "false" && self::$return_time != "false") {

        // We need to calc to fare based on the return date and time
        $return_fare = self::getFare(1);

        // Append to final fare
        $final_fare = $final_fare + $return_fare;

    }

    // Create new journey object with the info that we have so far

    /*$journey = new Journey($journey_id,$pickup,$dropoff,$vias,$distance,$vehicle,
                    $date_time,$return_journey,$meet_greet,$extras);*/

    return number_format($final_fare,2);

}

这样我就可以从数据库中读取“附加费”值,然后将其添加到票价计算中。

1 个答案:

答案 0 :(得分:1)

我不会在你的JS中检查AIRPORT。如果用户决定打开Firebug并编辑JS,他们可以轻松绕过额外的资费。此外,如果用户在浏览器中禁用了JS,则可能根本不会添加资费。最好的解决方案是使用PHP在服务器端处理所有这些逻辑。

然而,这是一个对PHP脚本的AJAX POST请求的示例:

$.post("checkTarriff.php", { id: identifyingId },
 function(data){
   console.log(data);
 }, "json");