一次前端调试
日期:2014-04-30 18:06:42
最后更新日期:2014-04-30 18:08:00
$.ajax({
url : url1,
cache : false,
async : false,
type : "GET",
dataType :'json',
success : function (result){
alert("hello world");
alert(result.state);
if(result.state=="done")
{
window.done=1;
}
},
/*error : function(XMLHttpRequest, textStatus, errorT
alert("请求失败!");
alert(errorThrown);
alert(textStatus);
done=2;
}*/
});
[/code]
开始的是时候,直接找抄网上的jquery的一个同步调用的例子,没有error部分。done开始状态为0,但后面done的状态一直没变化。先后怀疑是不是变量与内部某些东西冲突了,前面js代码内部实现不正确。闷了一下,想起可以尝试用firefox+firebug来调试js代码。发现success部分没有执行,又在网上搜另外一个jquery同步调用的例子,加上error部分。然后显示的信息是:
[code lang="cpp"]
SyntaxError:JSON parse:unexpected character
[/code]
于是查看返回的data部分,返回为:
[code lang="cpp"]
({ "state" : "starting" });
[/code]
去github项目主页上看了下,发现这种是该模块的默认输出,上面描述是“like json output, but with callback”。后来在nginx upload process模块里面加个配置:
[code lang="cpp"]
upload_progress_json_output ;
[/code]
输出pure json格式。问题是解决了,但总想找一种类似方法论的东西。而这方法论也许只是一种编程感悟。