javascript - AJAX 调用不会取代 HTML

标签 javascript php ajax forms

我有一个根据用户输入的邮政编码计算运费的表单。我正在检索用户的邮政编码文本输入,通过 PHP 检索该特定邮政编码的运输成本,然后使用 AJAX 调用将其传输回 HTML 中的输出以获得总计。然而,AJAX 调用并没有取代 HTML。

(相关)HTML:

  <input type="text" id="postcode" name="postcode">
  <div id="result"></div>

JS:

$(document).ready(function() {    
$('#postcode').change(function(){
    $.ajax({

        type: "GET",
        url: "shipping.php",
        data: 'shipping=' + $('#postcode').val(),
        success: function(msg){
            $('#result').html(msg);
        }

    }); // Ajax Call
});
}); //document.ready

PHP:

<?php

   $postcode = (is_numeric($_GET['postcode']) ? (int)$_GET['postcode'] : 0);

   if ($postcode >= 2000 && $postcode <= 2234) {
     $shipping = 55.00;
   } elseif ($postcode >= 2250 && $postcode <= 2310) {
     $shipping = 105.00;
   }

    echo $shipping;
?>
  • 如果我在控制台中输入 msg,它会返回 undefined。它不应该有一个值吗(邮政编码输入确实符合正确的条件)..?

最佳答案

通过使用:

$postcode = (is_numeric($_POST['postcode']) ? (int)$_POST['postcode'] : 0);

还有:

$.ajax{ type: "GET", ... }

您使用 GET 通过查询字符串发送邮政编码,但您的 PHP 代码尝试从 POST 正文读取值。

关于javascript - AJAX 调用不会取代 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19077890/

相关文章:

javascript - 我如何从 Javascript 调用 Lisp 函数

javascript - Jquery Mobile - 从其他按钮单击更改标题中的图标颜色

Javascript硬编码对象作为参数,但不引用全局对象

php - 在 Yii2 中重用查询简写时如何避免字段不明确?

php - 如果 SplObjectStorage 在对象仍然附加的情况下破坏,它是否会留下内存泄漏引用?

php - mysql时间和php时间不一样

jquery - HttpHeader UTF 编码

javascript - 无法设置 null 错误的属性 'innerHTML'

javascript - http post 成功后 $scope.push() 不会更新 ng-repeat

javascript - 如何将空白 <option> 元素添加到 <option> 列表?