Jump to content

Metodo Post não aparace


Helio13
 Share

Recommended Posts

Boas pessoal.

Estou a tentar fazer um post com dados por json, de uma aplicação client para o server, mas quando faço, em vez de fazer o post, ele faz um options e dá erro 400 bad request...

Alguém me sabe explicar o porque?

O que estou a fazer é isto

$(document).ready(function ()
    {
	    $.ajax(
	    {
		    type: "POST",
		    url: "http://localhost:1117/Service1.svc/GetDataName",
		    data: '{"Name": "John"}',
		    dataType: 'json',
		    contentType: "application/json; charset=utf-8",
		    //crossdomain: true,
		    success: function (data) {
			    alert(data);
		    },
		    error: function (xhr, status, error) {
			    alert("failed " + error);
		    }
	    })
   });
Link to comment
Share on other sites

Ja vi que o problema está no lado do servidor agora...

Mas não estou a ver onde...pois tenho o serviço a correr...

O meu código esta assim

Service1.svc.cs:

namespace Teste
{
   public class Service1 : IService1
   {
    public string GetData()
    {
	    string getdata = "hello";
	    return string.Format("You entered" + getdata);
    }
    public string GetDataName(string Name)
    {
	    return string.Format("You entered" + Name);
    }
   }
}

IService1.cs:

namespace Teste
{
   [serviceContract]
   public interface IService1
   {
    [OperationContract]
    [WebInvoke(Method = "POST", UriTemplate = "GetData", BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json)]
    string GetData();
    [OperationContract]
    [WebInvoke(Method = "POST", UriTemplate = "GetDataName", BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json)]
    string GetDataName(string Name);
}
}

Sabes me dizer o que pode estar mal?

Link to comment
Share on other sites

Pois não...

E dá me o seguinte erro:

failed Cannot process the message because the content type 'application/json; charset=utf-8' was not the expected type 'text/xml; charset=utf-8'.

Quando faço o post...

Está alguma coisa mal no C#, mas não sei o que é

Link to comment
Share on other sites

Eu acho que é isto o que se está a passar:

https://developer.mozilla.org/en/docs/HTTP/Access_control_CORS

Se bem me lembro... Basta ser um port diferente e é suficiente para activar o protocolo cors.

Edited by brunoais

"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.