jquery $.get returns xmlobject
jquery $.get returns xmlobject
我在使用 jquery .get
时遇到问题
我的代码很简单:
$.get('a.html', function(data) {
$('.main').html(data)
});
里面a.html只有:
<p> hi </p>
它不起作用,因为数据不是 XMLObject,我修复了它:
$.get('a.html', function(data) {
var xmlString = (new XMLSerializer()).serializeToString(data);
$('.main').html(xmlString)
});
第一个问题,有人知道为什么第一个代码不起作用吗?
现在 a.html 我有:
<form action="contactform_submit" method="get" accept-charset="utf-8">
<p>name : </p><input type="text" name="name" placeholder="Your name">
<input type="submit" name="Send" value="Send" id="button">
</form>
这只有在我取消输入标志时才有效,为什么?
您应该通过将数据类型 属性 设置为 html 来告诉 jquery 期望 html。如果未指定数据类型,它将尝试通过解析内容来估计 return 类型(xml、json、html)。在您的情况下,它会认为内容是 xml.
jQuery 为这种简单的内容加载提供 .load()
。这个:
$.get('a.html', function(data) {
$('.main').html(data)
});
变成:
$('.main').load('a.html');
至于你的另一个问题("Why does it assume XML?"):jQuery 尝试自动确定响应的数据类型。该机制取决于服务器发送的 Content-Type
header。
在浏览器的网络控制台中检查请求,找出服务器发送的内容。它 应该 发送 text/html
,如果它发送其他内容,请修复您的服务器配置。
我在使用 jquery .get
时遇到问题我的代码很简单:
$.get('a.html', function(data) {
$('.main').html(data)
});
里面a.html只有:
<p> hi </p>
它不起作用,因为数据不是 XMLObject,我修复了它:
$.get('a.html', function(data) {
var xmlString = (new XMLSerializer()).serializeToString(data);
$('.main').html(xmlString)
});
第一个问题,有人知道为什么第一个代码不起作用吗?
现在 a.html 我有:
<form action="contactform_submit" method="get" accept-charset="utf-8">
<p>name : </p><input type="text" name="name" placeholder="Your name">
<input type="submit" name="Send" value="Send" id="button">
</form>
这只有在我取消输入标志时才有效,为什么?
您应该通过将数据类型 属性 设置为 html 来告诉 jquery 期望 html。如果未指定数据类型,它将尝试通过解析内容来估计 return 类型(xml、json、html)。在您的情况下,它会认为内容是 xml.
jQuery 为这种简单的内容加载提供 .load()
。这个:
$.get('a.html', function(data) {
$('.main').html(data)
});
变成:
$('.main').load('a.html');
至于你的另一个问题("Why does it assume XML?"):jQuery 尝试自动确定响应的数据类型。该机制取决于服务器发送的 Content-Type
header。
在浏览器的网络控制台中检查请求,找出服务器发送的内容。它 应该 发送 text/html
,如果它发送其他内容,请修复您的服务器配置。