开发者

jQuery ajax load html from another server [duplicate]

This question already has answers here: Closed 10 years ago.

Possible Duplicate:

Load website into DIV

Hey all i am trying to find a way to call an external website and retreve its HTML so that i can check for something in it (wither the user entered a valid VIN # or not depending on what this website calls back)

This is the code i have:

$.ajaxSetup ({

  cache: false
 });

 $("#load_callback").click(function(){
    $.ajax({
    url: 'http://www.google.com',
    dataType: 'text',
    success: function(data) {
   alert(data);
    }
  });
 });

It works but only if i have it pointed to my server (and running on my server also). Is there a way 开发者_StackOverflow中文版i can call an external website using jquery/ajax? I am aware of the Same origin policy but was hoping something like what i want to do did not fall into that catagory?

I cant even get an iFrames title? Really??? wow....

David


You need to use jsonp: http://en.wikipedia.org/wiki/JSON#JSONP

These links should explain it:

  • http://www.remysharp.com/2007/10/08/what-is-jsonp
  • http://www.ibm.com/developerworks/library/wa-aj-jsonp1-

The other option you have is to write your own server-side proxy to it, i.e. have a page/controller/handler on your server that passes your request through and returns the result. It won't be as fast as going direct, and it will increase your site's traffic, but it will get you around the security problem.


Stick to simple things, if you want to load websites, be simple and go with iframe. If you want to make request use PHP or similar. For example you can use curl method to make request to another websites through PHP. Or even simpler, setup a form to request to another web server.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜