问题描述
||
对jquery来说是很新的东西,所以如果我的问题不在话下,我会道歉。
我在玩$ .get
From.htm:
<body>
<span id=\"Mytest\">Hello</span>
</body>
index.htm:
<body>
<span id=\"Mytest1\">BBBBBBB</span>
<script>
$.get(\'From.htm #Mytest\',function(data) {
if (data) {
$(\'#Mytest1\').html(data).innerHTML);
};
});
</script>
</body>
以上完美地工作。 #Mytest1的内部html更改为Hello。
但是我想要的是$(\'#Mytest1 \')。html(data).innerHTML);作为将数据写入#Mytest1之前测试数据的字符串。
我已经尝试了几件事,但我只是没有到达那儿。我想到目前为止我做得还可以。如果有人可以帮助,那就太好了。
我曾尝试查看\“ data \”(警报(数据)),但如果我警告它,它将显示整个From.htm页面。可能在那做错了。
谢谢您的帮助。
解决方法
您可以如下修改代码
不需要innerHtml,
$.get(\'From.htm #Mytest\',function(data) {
if (data.length>0) { // for now if you want to check you can say .length
$(\'#Mytest1\').html(data);
};
});
如果您只想从后端获取一些字符串,则仅响应该字符串,并带有一些响应代码或某些状态
您可以说类似data.Success的内容,然后继续
您可以通过多种方式返回data,json,xml,html等,查看最适合您并使用它的方法。
如果您需要更多信息,请告诉我。
,我相信您也可以使用jQuery来做到这一点:
var jqObj = $(data);
var hello = jqObj.children(\'#MyTest\').text();
基本上,这是将$ .get请求返回的数据对象转换为jquery对象。从那里您可以像使用选择器获得的任何其他jquery对象一样操作该对象。