Cross domain ajax request

前端 未结 4 762
耶瑟儿~
耶瑟儿~ 2020-11-27 05:57

I want to get the html respond page from the cross domain url.

for this I am using the ajax request as,

 $.ajax({
            type: \'GET\',
                 


        
相关标签:
4条回答
  • 2020-11-27 06:29

    If you are using asp.net web service then you need to add this to webconfig file;

    <system.webServer>
        <directoryBrowse enabled="true"/>
    <httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Origin" value="*" />
        <add name="Access-Control-Allow-Headers" value="Content-Type" />
      </customHeaders>
    </httpProtocol>
    </system.webServer>
    
    0 讨论(0)
  • 2020-11-27 06:36

    Check documentation : http://api.jquery.com/jQuery.ajax/

    crossDomain (default: false for same-domain requests, true for cross-domain requests)

    Type: Boolean

    If you wish to force a crossDomain request (such as JSONP) on the same domain, set the value of crossDomain to true. This allows, for example, server-side redirection to another domain. (version added: 1.5)

    0 讨论(0)
  • 2020-11-27 06:42
    <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
      <script type="text/javascript">
        function NameAFunctionName() {
            $.ajax({
              url: 'http://wcidevapps.com/salescentral/idisk/0001000383/iDisk',
              type: 'GET',
              dataType: 'json',
              headers: {
                //WRITE IF THEIR HAVE SOME HEADER REQUEST OR DATA
              },
              crossDomain: true,
              success: function (data, textStatus, xhr) {
                console.log(data);
              },
              error: function (xhr, textStatus, errorThrown) {
                console.log(errorThrown);
              }
            });
        }   
    </script>
    
    0 讨论(0)
  • 2020-11-27 06:48

    My suspicion is that you see the issue because the page you're requesting does not respond with a json(p) response, but responds with a redirect to:

    http://wcidevapps.com/salescentral/idisk/0001000383/iDisk/
    

    (note the trailing slash)

    which then returns content type:

    Content-Type:text/html;charset=ISO-8859-1
    

    Edit: If your intention is to retrieve the above site's data cross-domain, for further parsing by your script, I suggest that you choose one of the following:

    Assumption 1: YOU are in control of the pages on server "http://wcidevapps.com"

    In that case, you have two options: Either add CORS header "Access-Control-Allow-Origin: *" to the response (and configure the client ajax() call with dataType:"html"), or create a special JSON(P) page that delivers the same data as JSON (with padding) (and configure the client ajax() call like in the OP, with dataType:"jsonp")

    Assumption 2: YOU are NOT in control of the pages on server http://wcidevapps.com

    In that case, the only option I can think of is setup a proxy on a site that you control. Have that proxy "proxy" the requests/responses to "http://wcidevapps.com", but add the CORS header "Access-Control-Allow-Origin: *" to the response (and configure the client ajax() call with dataType:"html")

    0 讨论(0)
提交回复
热议问题