没有什么不对,只要我将lib改为1.3.2,我的成功东西就可以了吗?怎么会?甚至连TEST的警报都没有出现..
以下是发生的代码:
function crop() {
$.ajax({
type: "POST",
dataType: 'json',
url:"functions.php?action=crop",
data:
{
x: $('#x').val(),y: $('#y').val(),w: $('#w').val(),
h: $('#h').val(),fname:$('#fname').val(),fixed:fixed,
sizew:sizew,sizeh:sizeh},
success: function(response)
{
alert('TEST');
if(!fixed) // Missing { }
{
$("#showPhoto").css({overflow:"auto"}); // Missing ;
}
$("#showPhoto").html(
$(document.createElement("img")).attr(
"src",response.filename)).show();
$("#showPhoto").after("There you go...").show();
$("#image").slideUp();
},
error:function(response) {
console.log('error: ', response);
}
});
}
如何使其与jquery 1.4.2库一起使用?
答案 0 :(得分:1)
JSON回来无效,你发布的例子是:
({"filename":"images\/profilePhoto\/thumbs\/1283596240.jpg"})
我在页面中得到的回复:
({"filename":"1283597560.jpg"})
两者都不是有效的JSON,你需要在那里删除()
包装器。您可以在此处检查JSON响应的有效性:http://www.jsonlint.com/
1.3.2与1.4.2的区别在于1.4.0中jQuery添加了严格的JSON检查,如果它无效则会失败(因此它可以更好地利用浏览器的本机JSON解析器)。
严格的JSON解析,使用原生JSON.parse :( jQuery.ajax() Documentation,Commit 1,Commit 2,Commit 3)
jQuery 1.3及更早版本使用JavaScript的
eval
来评估传入的JSON。 jQuery 1.4使用本机JSON解析器(如果可用)。它还验证传入的JSON的有效性,因此,jQuery.getJSON中的jQuery以及将“json”指定为Ajax请求的dataType时,将拒绝格式错误的JSON(例如{foo: "bar"}
)。