2012-02-07 18 views
0

我有一个div包含学生的时间表,并有一个下拉框供学期选择。ajax div重新加载正确的数据,但整个网页内div

一旦他们选择了学期,有一个ajax文章,但是当它刷新时,它显示该div内的整个网站(以及该学期的适当时间表)。

它看起来像一个网页内的iframe,为在这里看到:http://cl.ly/Dy3b

这里是阿贾克斯后脚本

<script type="text/javascript"> 
    $(document).ready(function() { 

    $('#term').change(function() { 

    var form_data = { 
     term : $('#term').val(), 
     ajax : '1' 
    }; 

    var u = $("#schedulePortletURL").attr("href"); 

    $.ajax({ 
     url: u, 
     type: 'POST', 
     data: form_data, 
     success: function(msg) { 
     //alert(u); 
     $('#view-schedule').html(msg); 
     } 
    }); 

    return false; 
    }); 

    }); 
</script> 

如果可能的话,你可以给我的调查什么来纠正一些建议这个?谢谢

回答

1

我的猜测是,调用服务器返回一个完整的HTML页面,然后你的代码将完整的HTML页面放入view-schedule div。

要解决这个问题,请创建一个新的HTML页面,您可以调用它包含一个html片段 - 您想要在view-schedule div中生活的块。然后将schedulePortletURL更改为指向新的HTML页面。或者,您可以获取html(msg)并解析它以提取您感兴趣的数据,然后将过滤的数据插入到view-schedule div中。

是否现有的网站必须在全部API,你可以打电话?

+0

至于api,没有。它提供通过https://wiki.jasig.org/display/PLT/WebProxy这个笨应用程序 - 我所说的ATTR(“HREF”),这样的JavaScript正确重写的了AJAX需要张贴到URL。我是新来uPortal,我需要获得更多的访问挖掘到主页的其他部分。 – Brad 2012-02-07 15:43:47

+0

得到什么回事更好的主意,你可以使用类似Firebug或Chrome开发者工具的工具。然后您可以确切地看到正在向服务器发送POST以及服务器返回的内容。如果发生某种类型的重定向,就像David所说的那样,这会揭示它。 – CodeThug 2012-02-07 15:59:06

+0

布拉德,我看着WebProxy文档,并且我会建议在看一对夫妇的选择它们提供:裁剪配置和后拦截器类。两者在https://wiki.jasig.org/display/PLT/WebProxy+Portlet+Installation+and+Configuration说明。要查看您需要实现PostInterceptor接口,见http://grepcode.com/file/repo1.maven.org/maven2/org.jasig.portlet/WebProxyPortlet/1.1.4/edu/wisc/my/webproxy/豆/拦截器/ PostInterceptor.java,并看到拦截器类的加载方式,见http://bit.ly/xULSQP – CodeThug 2012-02-11 04:33:14

0

另一种可能性是您的服务器端脚本中的某种错误检查器错误地触发并导致重定向到某个网页。该网页然后由AJAX检索,然后显示在DIV中。我之前有过这种情况。你应该检查你的服务器端脚本。

0

如果你没有对你抓取抓取网页,应考虑unpure,你应该使用iframe网页完全控制。请记住,所有以.html(BLOB),您也将获得javascript代码,Flash对象等,它们可以用来compromize用户。

如果您在另一方面也要通过获取网页完全控制(我假设),你应该在你的模板中的if语句来检查,如果该请求是基于AJAX的:

伪服务器端模板代码:

if not request.is_ajax(): 
    import header.html 
import body.html 
if not request.is_ajax(): 
    import footer.html 
相关问题