下面这个简单的代码我有一些无谓的问题。我认为问题在于需要通过AJAX发送到php的数据。
这标记:
<p id="foo" class="send">Click This!</p>
<p id="bar" class="send">Click This!</p>
这是jQuery:
$('p.send').click(function(){
$.ajax({
url:'foobar.php',
type:'post',
data: {id : $(this).attr('id')},
dataType:'json',
contentType: 'application/json; charset=utf-8',
success: function(data) {
switch (data.status)
{
case "a":
alert(data.text);
break;
case "b":
alert(data.text);
break;
}
},
error: function(textStatus) {
alert ("error: "+textStatus);
}
})
}
,这是PHP:
$id = $_REQUEST['id'];
switch ($id) {
case "foo":
$data["status"] = "a";
$data["text"] = "foo-foo";
echo json_encode($data);
break;
case "bar":
$data["status"] = "b";
$data["text"] = "bar-bar";
echo json_encode($data);
break;
}
但是,如果我这样做:
//data: 'id=' + $(this).attr('id'),
并改变这个:
$id = 'foo';
奇怪的是,脚本有效......我需要做些什么来使这个脚本有效?任何建议都非常感激。
注意:这重复了我之前未回答的问题here