Ajax在某些计算机上无法间歇工作

时间:2018-07-27 17:01:35

标签: javascript jquery ajax

我想我不是最新的,或者缺少真正简单的东西。 我有下面的javascript代码,该代码使用ajax连接到外部php文件,该文件读取表单发布的变量并从sql数据库获取定价并返回价格,该价格在当前页面上进行了更新。我正在测试的计算机使用Windows 7和最新版本的Chrome浏览器。 Ajax调用始终有效。昨天我在另一间办公室里,在运行最新版Chrome浏览器的Windows 10计算机上测试了该代码,而ajax调用似乎永远无法正常工作,而且没有价格更新。我还在同一台Windows 10计算机上尝试了最新的Internet Explorer浏览器,但该浏览器不起作用。我在同一位置使用Chrome浏览器找到了另一台Windows 7计算机,并且在其上运行良好。甚至更疯狂的是,今天早上,我在运行最新版Chrome的Windows 10计算机上尝试了该代码,并且该页面第一次加载正常,但随后又退出了。

我一直在检查代码,什么都看不到,因为它在某些机器上可以正常工作。任何想法或想法都将不胜感激。

我正在使用jQuery v1.12.4。我以为这可能有问题,所以我尝试甚至使用3.1.1并没有任何改变。

我想念什么?我如何调试ajax调用以查看其无法正常运行的计算机上实际发生的情况?

JAVASCRIPT代码:

<script type='text/javascript'>
// Monitor changes to Quantity form field
$('#Quantity').on('keyup', function(event) {
    $.ajax({
        url: 'updatePrice.php',
        type: 'POST',
        contentType: 'application/json; charset=utf-8',
        data: $('#OrderDetails').serialize(),
        datatype: 'json',
        success: function(response) {
            $("#showPrice").text('$' + response);
        }
    });
});

function updatePrice() {
    $.ajax({
        url: 'updatePrice.php',
        type: 'POST',
        contentType: 'application/json; charset=utf-8',
        data: $('#OrderDetails').serialize(),
        datatype: 'json',
        success: function(response) {
            $("#showPrice").text('$' + response);
        }
    });
}
</script>


与Java脚本相关的缩短的HTML代码:


Quantity<br><input type="text" name="Quantity" id="Quantity" class="textWidth2" value="">

<img src="images/B&WSelected.png" id="BWimage" onclick="changeImage3(); updatePrice();">

<div class="border-top-color quote_panel">
<span class="quote_title">Your Price:</span>
<span id="showPrice" class="quote_price">$0.00</span>
</div>


2 个答案:

答案 0 :(得分:0)

我终于弄清楚是什么原因导致了我所相信的问题。我认为这既与“跨域请求”相关,又与编码问题有关。

我通过从url:删除完整的URL(http://www...。)编辑了ajax调用,只留下了文件名,然后删除了该行

contentType:'application / json; charset = utf-8',

从代码开始,现在一切似乎都可以正常运行

function updatePrice() {
    $.ajax({
      url: 'updatePrice.php',
      type: 'POST',
      data: $('#OrderDetails').serialize(),
      datatype: 'json',
      success:function(response){
      $("#showPrice").text('$'+response);
      }
    });
}

答案 1 :(得分:-1)

下载jQuery CDN –最新的稳定版本