簡體   English   中英

Ajax無法使用javascript。 我應該做些什么?

[英]Ajax not working with javascript. What am I supposed to do?

這是我的代碼,我稱之為Request for 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;

}

// var用於ajaxobject句柄;

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});
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM