所以我一直在环顾这样的事情的许多不同的例子。大多数人正在使用JSON串行器/解串器或stringify方法。我试图尝试类似的事情,但不幸的是,我总是从Google的Chrome调试器控制台收到错误消息: 未捕获的引用错误:未定义JavaScriptSerializer或类似的东西。我需要将JSON对象传递给WCF调用的javascript/ajax方法。我怎样才能做到这一点?
下面是我尝试使用该信息执行PUT操作的实际方法。
function insertjsonMyUser(person) {
document.write("Inside the parameter based insertion method<br/>");
alert("Entered the method, right before the ajax call");
$.ajax({
type: "PUT",
url: 'http://localhost/MyService/Service.svc/json/CreateUserInfo',
contentType: "application/json",
data: {"User" : person.User ,"Pword" : person.Pword,"FName" : person.FName,"LName" : person.LName,"JobTitle" : person.JobTitle,"CompanyName" : person.CompanyName,"CompanyBranch" : person.CompanyBranch,"PhoneNum" : person.PhoneNum,"Email" : person.Email},
beforeSend: function(xhr) {
xhr.setRequestHeader('Authorization', 'default default');
}
});
alert("The user has been created according to your specifications");
}
我希望人是一个JSON对象使用指定的键我有数据。我已经成功做了类似的方法,但我不希望使用硬编码的JSON对象如:
{"User" : "Zuser" ,"Pword" : "password","FName" : "firstname","LName" : "lastname","JobTitle" : "jobtitle","CompanyName" : "companyname","CompanyBranch" : "companybranch","PhoneNum" : 3123123123,"Email" : "email"}
我在硬编码的版本中使用的JSON对象为以上目的。有什么我缺少使用方法stringify或序列化?另外,有没有比我在搜索时间里错过的更简单的方法?
最后,我正在运行Windows 7 Enterprise,使用IIS托管以及使用Visual Studio 2010进行编辑。我的服务工作正常。我成功地在小提琴手中测试了它。
不相关,但值得注意的是:`.ajax()`是异步的。您的第二次警报将在服务呼叫完成之前执行*。如果你在电话会议之后开始做一些有意义的事情,那可能会让你失望。要在调用完成后运行代码*,请使用`$ .ajax()```success`事件。 – 2011-01-26 22:04:01