【发布时间】:2011-04-15 21:37:43
【问题描述】:
工作流程: 用户单击该按钮,将打开一个带有搜索表单的对话框。一个ajax post请求被发送到服务器,并得到一个json响应。我得到了成功处理程序的回调。现在有两个问题。
-
对话框在成功回调 (successFn) 时关闭。我在成功回调中得到 json 响应,我希望用户看到结果并按关闭按钮终止对话框。
- 对话框关闭后不久,将向服务器发送一个获取请求。自行关闭对话框后,url 类似于 http://localhost:8080/search?query= 。我没有明确发送任何 GET 请求
jQuery(文档).ready(函数(){ jQuery("#myButton").click(showDialog);$myWindow = jQuery('#myDiv'); $myWindow.dialog({ width: 400, autoOpen:false, title:'Hello World', overlay: { opacity: 0.5, background: 'black'}, modal: true, /*open: function (type, data) { // include modal into form $(this).parent().appendTo($("form:first")); }, */ buttons: { "Submit Form": function() { $('form#myform').submit();}, "Cancel": function() {$(this).dialog("close");} } }); }); var showDialog = function() { $myWindow.show(); $myWindow.dialog("open"); } var closeDialog = function() { $myWindow.dialog("close"); } var successFn = function (response) { var obj = JSON.parse(response); $("#result").html('').html(obj.name); } var errorFn = function (xhr, ajaxOptions, thrownError){ $("#myform").parent().html('').html(xhr.statusText); } var query = $("input#query").val(); var dataString = 'query='+ query ; $('form#myform').submit(function(){ $.ajax({ type: 'post', dataType: 'json', url: '/search', async: false, data: $("#myform").serialize(), success: successFn, error: errorFn }); });
【问题讨论】:
标签: javascript jquery jquery-ui