jquery.ajax可以从属性Name中发布一个值吗?如果可以,我想将图片的标题apple
发送到b.php,然后将数据This is an apple
从b.php返回到div#result
,谢谢。
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'].'.';
?>
答案 0 :(得分: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 :(得分:1)
您没有像在此应用程序中设置普通变量一样设置'values'参数。相反,您可以使用名为“value”的成员创建一个对象,并将其设置为等于图像标题。
var params = new Object();
params.value = $('#send').attr('title');
或者您可以创建params作为文字:
var params = {value: $('#send').attr('title')};