[問題]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