在第1页上,用户单击图像,弹出窗口允许上传图像文件。运行此echo的PHP页面返回一个json_encoded字符串,其中包含一个名为“id”的变量。
以下是响应字符串的示例:
"{"state":200,"message":null,"result":"..\/0images\/listimg\/mod\/20141215064959.jpeg","id":"570"}"
当弹出模式关闭时,我想要显示一个元素(之前隐藏在第1页上)。元素是:
<div class="edit_right">
我的逻辑是显示元素,如果'id'作为JSON数据发送,因此如果ID不为null,则元素将显示。 我正在排除的JS是
<script>
$(document).ready(function(){
$(".edit_right").hide();
});
$('#modal').on('hidden.bs.modal', function () {
function handleResponse(data){
console.log(data);
}
$.getJSON(crop-avatar.php)
.done(function(data) {
if (data.id !== null){
$(".edit_right").show();
} else {
$(".edit_right").hide();
}
});
})
</script>
并位于结束体标记之前。此脚本不起作用,该元素始终隐藏。我怎么能纠正这个?
答案 0 :(得分:1)
您需要将网址传递到$.getJSON()
,以便知道从哪个网页检索数据,我不知道您将data
传递给handleResponse()
的原因,它对该功能没有影响。
答案 1 :(得分:1)
我认为在handleResponse中返回的数据是一个json字符串,所以你不必为此做另外的getJSON。 做
function handleResponse(data){
console.log(data);
}
如果它显示一个json字符串,那么你可以从那里获取它。
答案 2 :(得分:1)
你没有用参数
调用$ .getJson答案 3 :(得分:1)
来自jQuery docs:
$.getJSON( "ajax/test.json", function( data ) {
// Do something
});
所以你需要做的是:
function handleResponse(data){
$.getJSON('path/to/your/php-file.php').done(function(data){
// Do something
})
}
也不要忘记调用handleResponse()!