2011-03-04 68 views
0

jquery.ajax可以從屬性Name中發佈一個值嗎?如果可以,我想將圖像標題apple發送到b.php,然後將數據This is an apple從b.php返回到div#result,謝謝。jquery.ajax是否可以從屬性名稱發佈值?

a.php只會

<html> 
<head> 
</head> 
<script src="jquery-1.4.4.min.js" type="text/javascript"></script> 
<script language="javascript"> 
$(document).ready(function() {  
var params = "value=" + $('#send').attr(title); 
$.ajax({   
    url:'b.php',   
    type:'post',     
    dataType:'html',    
    data:params,     
    success:data  
    }); 
function data (html) {  
$("#result").html(html); 
} 
}); 
</script> 
<body> 
<div id="result"></div> 
<img id="send" src="apple.jpg" title="apple" /> 
</body> 
</html> 

b.php

<?php 
echo 'This is an '.$_REQUEST['value'].'.'; 
?> 
+1

加引號「標題」在您的來電.attr() – tkm256 2011-03-04 22:45:14

+0

沒錯,我的粗心,忘了報價...... – 2011-03-04 22:59:44

回答

1

如果你把屬性名,.attr('title')引號包圍,它應該工作。否則,title將被視爲變量,並且由於未定義,它將具有值undefined

但更好的是一個對象傳遞給data,讓jQuery的照顧編碼正確的:

$.ajax({   
    url:'b.php',   
    type:'post',     
    dataType:'text', // actually, you are not outputting HTML 
    data: {value: $('#send').attr('title')},     
    success:data  
}); 
1

您沒有設置以同樣的方式將「價值」參數,您在此設置一個正常的變量應用。相反,您可以使用名爲「value」的成員創建一個對象,並將其設置爲等於圖像標題。

var params = new Object(); 
params.value = $('#send').attr('title'); 

或者你可以創建PARAMS爲文字,如:

var params = {value: $('#send').attr('title')}; 
相關問題