[问题]WebService与Json的问题\

楼主: eatPLAYlove (爱玩又爱吃)   2017-03-02 00:36:05
各位先进们好
小弟最近在尝试用ajax与webservice来做互动
但在过程中 只要是碰到要传递json格式的资料
就会一直出现 [object Object] 500 Internal Server Error
在网络上也找了好多方法 但怎么试还是出现上面的错误
以下是我的写法 还请各位指导那些地方写错需要改进的
webservice部分我用了JSON.NET提供的方法以及内建的JavaScriptSerializer
javascript:
$(document).ready(function () {
$("#bt1").click(function () {Json()});
});
function Json()
{
var person ={req:{age: "10",name: "小杰",id: "TT-541"}};
$.ajax({
type: 'POST',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
data: JSON.stringify(person),
url: 'ForAJAX.asmx/GetJson',
success: function (data) {
var tmp = JSON.parse(data.d);
$("#content").text(tmp[0].name+"
作者: J002 (阿里山 我来了XD~)   2017-03-02 00:37:00
不考虑把webservice的部分改成用web API?
楼主: eatPLAYlove (爱玩又爱吃)   2017-03-02 00:44:00
因为刚接触.NET不久,本来只会写aspx及cs,最近想试试用ajax来达到画面不闪的结果而已,WEBAPI及MVC感觉还是太难
作者: auhgnim   2017-03-02 01:06:00
var person = {age: "10",name: "小杰",id: "TT-541"};data: "req:'" + JSON.stringify(person) + "'",试试看把person和data改成上述格式
楼主: eatPLAYlove (爱玩又爱吃)   2017-03-02 07:18:00
还是不行耶 错误讯息仍是跟上述一样
作者: Laluth (阳光)   2017-03-02 09:51:00
不考虑使用ashx来做吗?
作者: brian80122 (Cevi)   2017-03-02 09:59:00
client跟server的domain是一样的吗?
作者: auhgnim   2017-03-02 11:28:00
阿...data的值忘记用大括号包起来了或是用你原本的写法也可以,但是webmethod的req型态要改成object,不然会对应不到
作者: Litfal (Litfal)   2017-03-02 13:15:00
你req要传字串,但你传的是一个json object阿
楼主: eatPLAYlove (爱玩又爱吃)   2017-03-02 19:42:00
总算成功了 谢谢各位先进提供的建议传进来一样是用string接 改成object后面会无法解析Member mm1 = JsonConvert.DeserializeObject<Member>(req);Member mm2 = JavaScriptSerializer.Deserialize<Member>(req);这两种方式都可以成功解析 并且读取里面的值

Links booklink

Contact Us: admin [ a t ] ucptt.com