ajax傳值給php
『壹』 ajax get 傳值給php問題
1.php中responseText列印出來會返回yes,4.php則是輸出的no.
這是正確的。
使用以下兩條語句後
xHRObject.open("GET", "4.php?lat=" + 1 +"&lng=" + 1, true);
xHRObject.onreadystatechange = getData;
4.php已經運行了,只是它的輸出YES直接送到xHRObject對象中了,
因此xHRObject.responseText列印出來為YES
而直接運行4.PHP,因沒有帶參數,即lat沒有定義,輸出為NO
ajax與普通的GET或POST不同的,GET或POST一般會從當前頁面跳轉到GET或POST指定頁面,如本例中可能會跳轉到4.PHP,即如你所說的4.PHP成功輸出YES;但ajax不會跳轉,因此顯示的YES信息也只會在當前頁面。
『貳』 通過ajax傳一個值給php,請求失敗
varformData=newFormData();
formData.append('goodsNum',1);
$.ajax({
url:'index.php',/*獲取表單提交路徑*/
type:'post',/*提交方式*/
data:formData,/*提交數據*/
processData:false,
contentType:false,
success:function(msg){
/*執行成功後*/
console.log(msg);
},
error:function(jqXHR){
/*執行失敗後*/
console.log(JSON.stringify(jqXHR));
}
},'json');
『叄』 AJAX 向PHP傳遞參數
能啊!給你個例子啊!
<html>
<head>
<script type="text/javascript">
var xmlhttp;
function loadXMLDoc(url)
{
xmlhttp=null;
if (window.XMLHttpRequest)
{// all modern browsers
xmlhttp=new XMLHttpRequest();
}
else if (window.ActiveXObject)
{// for IE5, IE6
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
if (xmlhttp!=null)
{
xmlhttp.onreadystatechange=state_Change;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}
else
{
alert("Your browser does not support XMLHTTP.");
}
}
function state_Change()
{
if (xmlhttp.readyState==4)
{// 4 = "loaded"
if (xmlhttp.status==200)
{// 200 = "OK"
document.getElementById('p1').innerHTML="This file was last modified on: " + xmlhttp.getResponseHeader('Last-Modified');
}
else
{
alert("Problem retrieving data:" + xmlhttp.statusText);
}
}
}
</script>
</head>
<body>
<p id="p1">
The getResponseHeader() function returns a header from a resource.
Headers contain file information like length,
server-type, content-type, date-modified, etc.</p>
<button onclick="loadXMLDoc('/example/ajax/test_xmlhttp.txt')">Get "Last-Modified"</button>
</body>
</html>
『肆』 用jQ的ajax傳值給PHP總是錯誤怎麼回事
ajax是後台運行的,你本身是看不到php文件的運行結果的,只能ajax返回他的運行結果
其實你的代碼沒必要那麼復雜
$.post('zixun.php, {peplpe:a}, function(data){alert(data)});
『伍』 如何在同一個PHP頁面,通過ajax把值傳給PHP變數
舉個例子:你想在用戶點擊時,把 apple 這個字元串,通過前端傳給後端。
前端,用 jQuery 舉例:
$('button').click(function () {
$.ajax({
url: '/xxx',
method: 'post',
dataType: 'json',
data: {fruit: 'apple'}
}).done(function (res) {
// 成功後的回調
}).fail(function (err) {
// 失敗後的回調
});
});
後端 PHP 處理:
$fruit = $_POST['fruit']; // 獲取從 ajax 傳過來的 fruit 的值,這里是 apple。
如果你想在前端重新顯示這個字元串 apple,那麼你要用 PHP 把數據返回給頁面,然後在上面 「// 成功後的回調」 裡面,補充邏輯代碼。
例如 PHP 把 apple 返回給前端:
return json_encode(array('fruit' => 'apple'));
前端回調處理:
// 成功後的回調
alert(res.fruit); // 彈框顯示 「apple」
實際上,$_POST 能夠獲取所有從前端用 post 方式提交過來的數據,不管你是頁面刷新方式,還是 ajax(jQuery 才叫 ajax,實際上它是 XMLHttpRequest,非同步非阻塞的請求方式)
『陸』 關於PHP和AJAX之間的傳值問題
1、type:"POST", 你指定的是 post方式傳送,而你用的卻是get方式傳送(data:"userpwd=" + userpwd + "&username=" + username,)。
2、data 應該是 json 格式
data:{"userpwd":userpwd,"username":username},
『柒』 js獲取到的值如何用ajax傳到php中
$.ajax({type:"",url:"",data:"",dataType:"json",success:function(data){
//這里處理返回的結果
//type為數據提交的方式post或者get
//data表示要提交的數據方式為{name1:value1,name2:value2.....等等}
//dataType表示數據處理後返回的數據類型一般返回json的數據類型使用$.each進行循環操作
//success表示數據請求成功後執行的動作
}});
『捌』 ajax傳值給php
javascript函數不能這樣寫,改成下面這樣:
<scripttype="text/javascript"src="jquery-1.2.6.min.js"></script>
<scripttype="text/javascript">
functionShowNumber(device)
...
</script>
『玖』 AJAX怎麼通過POST把一個數據發給PHP
幫你調試了一下你的代碼,發post請求,,數據的格式是:'name=zhangsan&age=18' ,這種字元串格式的,所以你要把你的var senddata="4"; 改成var senddata="senddata=4";
php 部分,
$getDeviceID=$_POST[senddata];
改成$getDeviceID=$_POST['senddata'];
接收的參數需要加上單引號。
另外如果是jquery就比較簡單了,去jquery官網下載jq3.3.1然後引入
php部分
<?php
echojson_encode($_POST,320);
?>
html部分
<html>
<head>
<scriptsrc="jquery-3.3.1.min.js"></script>
</head>
<body>
<script>
functionfreshdata(){
$.ajax({
url:"test.php",//提交地址
type:"post",//提交方式
dataType:'json',
data:{
'senddata':4,
//如果在加其他參數
'name':'張三',
'age':20,
},
success:function(ret){//msg返回值
alert('senddata:'+ret.senddata+' 姓名:'+ret.name+' 年齡:'+ret.age);
}
});
}
</script>
<spanonclick="freshdata()">點擊發送ajax請求</span>
</body>
</html>
效果圖
『拾』 ajax傳給php的值為空
我記得我開始學ajax的時候也遇見過post接不到值的情況,
request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
加上這句看看吧,在open後面加上,回來我再看看我的筆記,呵呵
Good Luck :)