我想我不是最新的,或者缺少真正简单的东西。 我有下面的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>
答案 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 –最新的稳定版本