[Решено]
Subir Kumar Sao был совершенно прав, это была проблема CORS, а не клиентская сторона, в случае, если кто-то другой попадает в ту же проблему, разместив сервер, закодированный с помощью С#, это будет решением:
Получите сборки из поддержки CORS для веб-API ASP.NET и HttpSelfHostConfiguration
них на свой серверный проект, а в рамках HttpSelfHostConfiguration
вы вставляете следующее, которое в конце выглядит следующим образом:
var config = new HttpSelfHostConfiguration ("http://10.0.5.106:8000");
var enableCorsAttribute = new EnableCorsAttribute ("*", "*", "*")
{
SupportsCredentials = true
};
config.EnableCors (enableCorsAttribute);
[Вопрос]
Я запускаю сервер, который я написал в С# с VS2013 для приложения управления LED-Light, размещенного на холсте с помощью KineticJS.
Я тестировал его с помощью расширения Postman для Chrome, и он работал безупречно, я мог ПОЛУЧИТЬ, и я также мог бы ПОЗВОЛИТЬ.
так как я впервые кодировал что-то, используя REST, я решил пойти с .ajax
из jQuery, который кажется очень хорошо документированным. Но по какой-то странной причине это не сработает, и я совершенно не понимаю, потому что, может быть, я чего-то не хватает, и я не могу проверить, что происходит, поскольку ex, возвращаемый из "ошибки", пуст.
Вот код, который я использую для клиентской стороны:
$.ajax({
url: 'http://10.0.5.106:8000/api/LED/Save',
type: 'PUT',
data: { N: '1', Pos: '10' },
success: function() { alert('PUT completed'); },
error: function(req,status,ex){alert(ex);}
});
Чтобы понять структуру моего сервера, вот его код:
private static void RestServer()
{
var config = new HttpSelfHostConfiguration ("http://10.0.5.106:8000");
config.MapHttpAttributeRoutes ();
HttpSelfHostServer server = new HttpSelfHostServer (config);
server.OpenAsync ().Wait ();
while (true) {
}
}
[RoutePrefix ("api/LED")]
public class LEDController : ApiController
{
[Route ("Save")]
public HttpResponseMessage PutSave(int N, int Pos)
{
return Request.CreateResponse (HttpStatusCode.NoContent);
}
[Route ("Load")]
public HttpResponseMessage PutLoad(int N, int Pos)
{
return Request.CreateResponse (HttpStatusCode.NoContent);
}
[Route ("Intense")]
public HttpResponseMessage PutInt(int N, int I)
{
return Request.CreateResponse (HttpStatusCode.NoContent);
}
[Route ("RGB")]
public HttpResponseMessage PutRGB(int N, int R, int G, int B, int I)
{
return Request.CreateResponse (HttpStatusCode.NoContent);
}
}
10.0.5.106
ли страница, вызывающая службу ajax, в том же домене10.0.5.106
?