2012-07-16 322 views
0

我尝试从另一个服务器加载静态html页面。我发出跨域请求。跨域请求

$(document).ready(function(){ 
    $("div[src]").each(function(){ 
    var staticFileURL = $(this).attr('src'); 
    $.ajax({ 
      url: staticFileURL, 
      dataType: 'jsonp', 
      data: {}, 
      error: function(xhr, status, error) { 
      alert(error); 
      }, 
      success: function() { 
       alert("success"); 
      }, 
      jsonp: false, 
      jsonpCallback: 'jsonpCallback' 
     });  
    }); 
}); 

但我得到了chrome错误“SyntaxError:意外的标记<”。

在FF“SyntaxError:无效的xml属性值”中。 怎么了,有人帮我吗?

+0

通常是“意外的标记<”就像是网页错误HTML的开头部分,有的像'<'html>错误页你没有错误 ...但如果你在浏览器中访问'staticFireURL'你期待JSON – Onheiron 2012-07-16 13:44:28

+2

,这是什么产生?它有效的JSON? – ajm 2012-07-16 13:46:00

+0

我的html页面很简单,没有标签“”和“”。它是一种​​3210 – KarzhouAndrew 2012-07-16 13:57:24

回答

0

JSONP是从服务器获取json数据,它看起来像你试图接收HTML数据。 尝试把你的HTML数据JSON对象内部的服务器上,然后读取HTML的成功回调:

例如,您的JSON数据从服务器:

{ html: "<html><head>...</head></html>" }

也,你的成功回调应该是这样的:

success: function(**data**){ }