我试图发送一个AJAX请求,并想看看我发送了什么。 但不幸的是我无法做到这一点。 存在一个select选项元素,如果一切正常,我将在稍后填入响应。AJAX请求 - 如何查看请求?
$(document).ready(function(){
$('select[name="domains"]').change(function(){
var requestStr = $(this).val();
// send Ajax request
$.ajax({
cache: 'false',
type: 'POST',
data: {select:requestStr},
url: 'myHandler.php',
dataType: 'json',
success: function(data){
var json = JSON.parse(data);
alert(json.response); // Here you get the value
if(data.status == 'success')
alert("Thank you for subscribing!");
else if(data.status == 'error')
alert("Error on query!");
var str = "Please Select";
//$.each(data, function(i, items){
// str += ""+items.name+"
//});
$('select[name="countries"]').html(str);
},
// When an error occurs, the error function is called.
error:function(x,e){
if(x.status==0){
alert('You are offline!!\n Please Check Your Network.');
}else if(x.status==404){
alert('Requested URL not found.');
}else if(x.status==500){
alert('Internel Server Error.');
}else if(e=='parsererror'){
alert('Error.\nParsing JSON Request failed.');
}else if(e=='timeout'){
alert('Request Time out.');
}else {
alert('Unknow Error.\n'+x.responseText);
}
}
});
});
});
PHP的处理程序是这样的:
require_once 'myClass.php';
if (isset($_POST['select']))
{
// log event
$filename = "log.txt";
$fd = fopen($filename, "a");
$str = "[" . date("Y/m/d h:i:s", mktime()) . "] " . $_POST['select'];
fwrite($fd, $str . "\n");
fclose($fd);
$handler = new myClass();
$dataAjax = $handler->getName($_POST['select']);
echo json_encode($dataAjax);
}
class myClass {
function getName($data)
{
return $data;
}
}
我以为我可以使用请求参数和返回,但没有什么我可以看到。 哦,我使用Internet Explorer,因此我无法使用Firebug。
编辑 我添加了几行记录我的请求。 但是日志文件是空的。
UPDATE 现在有一些进展:
我可以在请求文本 “选择= QD” 看到这一点。 但是,当我与echo json_encode($dataAjax); 呼应它,我得到一个错误窗口Error.Parsing JSON Request failed.
为什么“成功”功能将不能工作,我不明白这一点! 响应是json编码。
哦顺便说一句。是否正确,我不能在PHP中使用“返回”来将我的回复发送回AJAX?
2014-02-25
Tipo
+1
IE浏览器的开发者工具 - F12或F10,我相信(应(开发工具) - 从那里,查看您的网络选项卡 –
+1
Firebug(Firefox)<=我的最爱,开发人员工具(Chrome) –
+0
即使您使用Internet Explorer多少,它至少可以调试这与萤火虫o r铬控制台足以让ajax请求工作。 –