【发布时间】:2015-01-08 07:55:41
【问题描述】:
这是我的课
[DataContract()]
public class Test
{
[DataMember]
public string UserName { get; set; }
}
这是我的 svc.cs 页面函数
public string Testpost(Test T)
{
string User_name;
User_name = T.UserName;
DataUtility du = new DataUtility();
string[] Parameters = new string[2] { "@UserName", "@Result" };
string[] DbTypes = new string[2] { "varchar", "varchar" };
string[] ParameterTypes = new string[2] { "input", "Output" };
string[] values = new string[2] { User_name, "" };
string[] Lengths = new string[2] { "100", "50" };
String Praveen = du.executeNonQuerry(CommandType.StoredProcedure, "InsertTest", Parameters, DbTypes, ParameterTypes, values, Lengths);
if (Praveen == "1")
{
return "Insertion Success";
}
else
{
return "Failed Insertion";
}
}
这是我的 uri 模板
[OperationContract]
[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare, UriTemplate = "/Testpost")]
string Testpost(Test T);
这是我的配置
<service name="SkyService.Customer" behaviorConfiguration="Default">
<endpoint address="" binding="webHttpBinding" contract="SkyService.ICustomer" behaviorConfiguration="webBehavior" bindingConfiguration="WCFServiceBinding"/>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
我通过 j 查询 ajax 访问 post 方法,如 as
<script type="text/javascript">
$(function () {
//var param = {"UserName":"Praveen"};
var _Name = { "T": { "UserName": "LC" } };
$.support.cors = true;
$.ajax({
type: "POST",
url: "http://203.124.96.81/Track/Customer.svc/TestPost",
//data: {"UserName":"Praveen"},
//contentType: "application/json",
//dataType: 'jsonp',
data: JSON.stringify(_Name),
returncallback: false,
contentType: "application/json",
dataType: "jsonp",
success: function (data) {
alert(data.Text);
console.log(data);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
//alert(XMLHttpRequest+" "+textStatus+" "+errorThrown);
console.log(XMLHttpRequest);
console.log(textStatus);
console.log(errorThrown);
}
});
})
</script>
服务在 localhost 中获得结果,并且在数据库中插入数据是成功的,但是当我通过远程使用它时,会出现错误 METHOD NOT ALLOWED????这个怎么办???
【问题讨论】: