我正在處理一個腳本,該腳本使用GET將一些存儲的數據發送到PHP腳本(將它處理後放入數據庫)。Ajax根本沒有發送數據
這裏的AJAX腳本,即時通訊使用jQuery AJAX (我已經包括了最新的jQuery腳本)
function send(){
$.ajax({
type: "GET",
url: "http://examplewebsite.com/vars/parse.php",
data: "id=" + id + "&purl=" + purl + "&send" + "true",
cache: false,
success: function(){
alert("Sent");
}
});
}
id
和purl
是JavaScript的變量。
send()
功能在設置:
<a href="#" onclick="send()">Send</a>
PHP代碼:
<?php
//Connect to database
include ("config.php");
//Get the values
$id = $_GET['id'];
$purl = $_GET['purl'];
$send = $_GET['send'];
if ($send == 'true') {
$insertdata = "INSERT INTO data (id,purl,send) VALUES ('$id','$purl',+1)";
mysql_query($insertdata) or die(mysql_error());
} else {
//do nothing
}
?>
當我鍵入http://examplewebsite.com/vars/parse.php?id=123&purl=example&send=true 它的工作原理,在PHP注入的數據到數據庫中,因爲我想但是當我使用send()
並希望使用ajax發送數據時,失敗。
我有沒有犯過錯誤?
您的網頁在examplewebsite.com域名上?域名和端口必須完全匹配,以便正常的Ajax調用工作 –
使用檢查器來調查瀏覽器發送的請求和參數。另外,我會建議在數據字段中使用array()而不是字符串。 – jancha
'id'和'purl'的可能值是什麼?也許問題在於你沒有編碼這些值。試試'data:{id:id,purl:purl,send:true},'代替。 –