gpt4 book ai didi

javascript - Ajax 不适用于 javascript。我应该做些什么?

转载 作者:行者123 更新时间:2023-11-29 00:46:19 25 4
gpt4 key购买 nike

这是我调用 Ajax 请求的代码,而不是一个简单的输入按钮,它在 onClick 事件上将一些数据发送到一个名为 setValue() 的函数;

这是代码(JS):
//请求ajax XML

<script type='text/javascript'>
function callAjax(){
var XMLObj = false;

if(window.XMLHttpRequest)
XMLObj = new XMLHttpRequest();
else if(window.ActiveXObject)
XMLObj = new ActiveXObject('Microsoft.XMLHTTP');

if(!XMLObj)
return false;

return XMLObj;

//ajax对象句柄的var;

var objAjax = callAjax();

function setValue(value, id, num, item){
if(objAjax){
if(objAjax.readyState == 4 || objAjax.readyState == 0){
objAjax.open('POST', 'addview.php', true);
objAjax.send('value=' + val + '&id='+id+'&num='+num+'&item='+item);
}
}
}

//用于将值发送到函数 setValue() 的输入;

<input type='button' onClick='setValue(1, 2, 3, 4)' />

//这是我通过 php 处理发送的数据的地方

<?php
if(!$_POST['value'] || !$_POST['id'] || !$_POST['num'] || !$_POST['item'])
exit();

include('config.php');

$value = mysql_real_escape_string($_POST['value']);
$id = mysql_real_escape_string($_POST['id']);
$num = mysql_real_escape_string($_POST['num']);
$item = mysql_real_escape_string($_POST['item']);

mysql_query("UPDATE `window` SET window_val = window_val + ".$value." WHERE window_id = '".$id."' AND window_num = '".$num."' AND window_item = '".$item."' ") or die(mysql_error() );
mysql_close($con);
?>

PHP 脚本正在运行,我尝试通过手动发送数据($_GET[''])并且它正在运行。我还用 alert('value='+value+'&id='+id...) 检查了 URL,所有变量都正常,但不会查询数据库。

如果你看到,我没有添加任何响应功能,从服务器回复。我只想发送那些数据并查询数据库。

谢谢!

最佳答案

你可能错过了

objAjax.setRequestHeader("Content-type","application/x-www-form-urlencoded");

考虑改进您的函数名称:callAjax 不调用 Ajax,它返回对 XHR 对象的引用。将其命名为 getXhr 或更接近它实际所做的名称。

如果你对 jQuery 没问题,就调用

function setValue(value, id, num, item){
$.post('addview.php', 'value=' + val + '&id='+id+'&num='+num+'&item='+item);
// or the cleaner version
$.post('addview.php', {value: val, id: id, num: num, item:item});
}

关于javascript - Ajax 不适用于 javascript。我应该做些什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10418692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com