2016-07-29 10 views
0

Ein paar Fragen über hier tatsächlich, unter verschiedenen Szenarien.Ajax Anfrage von localhost zu einem anderen Server auf dem gleichen WLAN

So bin ich mit dem gleichen WLAN verbunden, wie ein RESTful Server gehostet wird.

Ich habe eine Webseite in IntelliJ geöffnet und einen Localhost-Server auf meinem Rechner erstellt, damit sie meine Webcam starten kann. (Wenn ich versuche, die Webseite von meinem Dateiverzeichnis zu öffnen, startet die Webcam nicht)

Ich versuche eine Ajax-Anfrage zu erstellen, die so aussieht.

$.ajax({ 

      url: 'http://192.xxx.x.xx:xxxx/restful/webapi/enroll', 
      //url: 'http://localhost:63xxx/example-1.0.0.0-samples/', 
      type: 'PUT', 
      contentType: "application/json", 
      processData: false, 
      data: data, 
      dataType: 'json', 
      crossDomain:true, 
      error: function (xhr, status) { 
       if(xhr.status != "201"){ // 201 means it is Created, rather than 200 which means Success 
        $("#statusEnrollmentMsg").text("Fail " + status); 
        console.log(error); 
       }else{ 
        $("#textbox").text("success"); 
       } 
      }, 
      success: function (result) { 
       $("#textbox").text("success"); 
      } 
     });

Fehlercode

jquery.min.js:4 OPTIONS http://192.xxx.x.xx:xxxx/restful/webapi/enroll 
    send @ jquery.min.js:4 
    ajax @ jquery.min.js:4 
    OnEnroll @ example.js:130 
    onclick @ example.html:54 
    example.html:1 
    XMLHttpRequest cannot load http://192.xxx.x.xx:xxxx/restful/webapi/enroll. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. 
    Origin 'http://localhost:63xxx' is therefore not allowed access. The response had HTTP status code 404. 

Im immer immer Fehler, der wie folgt aussieht. Wenn es nicht klar ist, bitte Kommentar und ich werde Anpassungen vornehmen.

Cross-Domain wurde bereits auf True gesetzt!

Ich möchte ein JSON-Objekt an diesen Server senden. Ich bin mir nicht sicher, ob dies auch das richtige Protokoll ist. Bitte um Rat.

Antwort

0

prüfen Dokumentation: http://api.jquery.com/jQuery.ajax/

domänenübergreifende (default: false für gleich Domain-Anfragen, gilt für Cross-Domain-Requests)

Typ: Boolean

Wenn Sie ein zwingen crossDomain-Anforderung (z. B. JSONP) für dieselbe Domäne , legen Sie den Wert von crossDomain auf true fest. Dies ermöglicht beispielsweise eine serverseitige Umleitung zu einer anderen Domäne für . (Version hinzugefügt: 1,5)

Code wie folgt

$.ajax({ 

      url: 'http://192.xxx.x.xx:xxxx/restful/webapi/enroll', 
      type: 'PUT', 
      crossDomain: true, 
      contentType: "application/json", 
      processData: false, 
      data: data, 
      dataType: 'json', 
      crossDomain:true, 
      error: function (xhr, status) { 
       if(xhr.status != "201"){ // 201 means it is Created, rather than 200 which means Success 
        $("#statusEnrollmentMsg").text("Fail " + status); 
        console.log(error); 
       }else{ 
        $("#textbox").text("success"); 
       } 
      }, 
      success: function (result) { 
       $("#textbox").text("success"); 
      } 
     }); 
+0

sollten, die das domänenübergreif bereits auf true gesetzt! Was ist der Unterschied zwischen deinem Code und meinem? Ich sehe es nicht, tut mir leid! –

+0

Ohh Entschuldigung, versuchen Sie mit GET/POST-Methode, wenn es funktioniert, dann müssen Sie Kopfzeile in AJAX-Anfrage ändern. –

+0

Entschuldigung, was ist Header? Ich habe versucht, mit einer POST-Anfrage und ich habe den gleichen Fehler –