获取表单结果页
Get Form result page
我正在寻找一种方法,以某种方式将GET表单结果页面定位到div。到目前为止,大多数解决方案都告诉我使用Iframe代替,但我的目的是对结果页面进行一些更改,并使用Iframe似乎激活了阻止我获取页面内容的跨域脚本规则。
结果页通常是原始的XML。
<html>
<head>
<link rel="stylesheet" href="css/smoothness/jquery-ui-1.9.2.custom.css" >
<script src="js/jquery-1.8.3.js"></script>
<script src="js/jquery-ui-1.9.2.custom.js"></script>
<script src="js/jquery.xslt.js"></script>
<script type="text/javascript">
$(function() {
var xmlContent = $("#CFrame").contents().find("*").text();
$('#SResult').xslt({xml:xmlContent, xslUrl:'stylesheet/styleSheet.xsl'});
});
// prepare the form when the DOM is ready
function submitForm() {
// bind form using ajaxForm
$('#searchForm').ajaxForm({
// dataType identifies the expected content type of the server response
dataType: 'xml',
// success identifies the function to invoke when the server response
// has been received
success: processXml
});
return false;
}
function processXml(responseXML) {
// 'responseXML' is the XML document returned by the server; we use
// jQuery to extract the content of the message node from the XML doc
var message = $(responseXML).text();
$("#SResult").text(message);
}
</head>
<body>
<form id="searchForm" method="GET" action="http://111.11.111.11:1111/search" onSubmit="submitForm()">
<!--.... Some input go here-->
<input type="submit" value="Search" />
<div id="SResult">
</div>
<iframe id="CFrame" name="ContentFrame" frameborder="1" height="1000px" width="1000px" scrolling="no"></iframe>
</body>
<script>
loadUI();
</script>
</html>
谢谢,
除非您使用jsonp,服务器代理,或者您可以控制其他域,否则您无法向另一个域发出get或post请求。如果您可以控制您正在进行ajax调用的域,您可以向您正在尝试请求的页面添加Access-Control-Allow-Origin
响应头,这将允许您的域访问。
既然你正在做一个返回XML的GET请求,我建议使用这个jQuery插件,它使用YQL作为代理。此外,你可以使用这个指南来了解它是如何工作的,或者在没有插件的情况下使用它。
一个解决的stackoverflow问题,解决了同样的问题:jQuery跨域请求
您是否使用get方法提交表单,然后响应将显示在div标记上?
可以使用Jquery ajax。
例子$.ajax({
type: "POST",
url: "url here",
data: {id: someIdTobePass},
success: function(response){
//do the jquery manipulation
$("#myDivID").html("the response is " + response);
}
});
您可以使用$。jQuery中get helper方法
jQuery APIjQuery。get(url [, data] [, success(data, textStatus, jqXHR)] [,
代码示例
$.get("test.php", { name: "John", time: "2pm" },function(data){
$("#mydiv").html(data);
});
相关文章:
- 使用PHP通过HTML表单选项选择器过滤MYSQL结果
- 获取在表单/文本字段中显示的结果
- 将表单输入保存到txt,弹出结果,不更改页面
- 使用jQuery延迟表单输入,并在延迟后在同一页面上显示结果
- 使用 js 函数显示 HTML 表单的结果
- 使用 AJAX 在页面加载时自动提交表单并获得 html 类型结果
- iFrame表单提交并在结果后发出警报
- 在HTML中隐藏/显示表单会产生异常结果
- 将javascript计算结果自动放入HTML表单中
- 表单提交后保留数据库查询结果
- 使用jQuery生成POST表单并处理结果
- 为多个表单动态指定输出ajax成功结果的位置
- I'我在使用聚合核心ajax发送表单结果时遇到问题-go没有执行
- 以引导模式显示表单结果
- 在同一页上提交的Codeigner表单以空结果结束
- 表单结果立即被jQuery覆盖
- 提交表单,使用脚本处理信息,并在同一页面上显示结果
- Javascript - 从表单中获取复选框值并获取随机结果
- Php 搜索表单显示结果时无需按搜索按钮,而它应该等到按下按钮才能显示它们
- 编写脚本并搜索结果(表单)