0

我在 jsFiddle 上尝试过作为示例

$.get('/user/login/', function(content){  /* (jsFiddle.net/user/login is in the same domain) */
    alert($('*',content).html()); 
});

但它返回

<a href="/">JSFiddle</a> 

我究竟做错了什么?例如,我想获取 HTML 的标题,但 $('title',content) 不起作用

4

3 回答 3

1

据我所知,JSFiddle 不允许 AJAX 调用。

编辑:但他们确实提供了某种模拟,虽然我没有使用它http://doc.jsfiddle.net/use/echo.html

于 2013-08-30T12:54:17.000 回答
1

可以在没有 Ajax 的情况下做到这一点。

<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Load remote content into object element</title>
  </head>
  <body>
    <div id="siteloader"></div>​
    <script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
    <script>
      $("#siteloader").html('<object data="http://tired.com/">');
    </script>
  </body>
</html>

获取页面后尝试解析它。

于 2013-08-30T12:56:02.163 回答
1

它将检查 jsfiddles 登录页面。就像是

http://jsfiddle.net/user/login/

你可以使用类似/echo/json/url 的东西:

<div class='wrapper'>
<p>JSON will be received in 3 seconds</p>
<ul id='post'></ul>
</div>

new Request.JSON({
    url: '/echo/json/',
    data: {
        json: JSON.encode({
            text: 'some text',
            array: [1, 2, 'three'],
            object: {
                par1: 'another text',
                par2: [3, 2, 'one'],
                par3: {}
            }
        }),
        delay: 3
    },
    onSuccess: function(response) {
        show_response(response, $('post'));
    }
}).send();

show_response = function(obj, result) {
    $H(obj).each(function(v, k) {
        new Element('li', {
            text: k + ': ' + v
        }).inject(result);
    });
    result.highlight();
};

jsfiddle 演示:http: //jsfiddle.net/zalun/QsHw4/#

于 2013-08-30T13:06:22.967 回答