【发布时间】:2018-09-10 15:55:55
【问题描述】:
我知道如何通过ajax在javascript和c#之间传递数据,现在我想知道fetch。
c#:
namespace WebApplication1
{
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
//[System.Web.Script.Services.ScriptService]
public class WebService1 : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
}
}
javascript:
fetch('http://localhost:62177/WebService1.asmx/HelloWorld')
.then(response => {
alert(response.json());
})
.then(response => {
alert(response);
})
它显示:
这个url的使用是基于ajax的。
我把网址改成“http://localhost:62177/WebService1.asmx?op=HelloWorld”,它显示:
我以为是响应成功,但是我什么也没收到,它显示:
然后我修改了返回数据的方法,现在是json-format:
c#:
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
public void HelloWorld()
{
object JSONObj = JsonConvert.SerializeObject("Hello World");
Context.Response.Write(JSONObj);
}
但没有任何变化。
我不知道如何改变它。有人可以帮我一点忙吗?
【问题讨论】:
-
看起来你根本没有将服务器设置为发送 JSON - 所以你当然会在尝试解析 JSON 时遇到错误
-
how to pass data between javascript and c# by ajax...您的“ajax”代码使用 JSON 吗?我的意思是,你说你知道的ajax方法中的服务器端代码无论如何都是一样的,对吧。那么,您的“ajax”方法是否使用 JSON.parse? -
System.Web.Services.WebService的页面声明“[d] 定义了 XML Web 服务的可选基类”。 XML 不是 JSON。使用开发人员工具中的网络选项卡查看原始响应并查看返回的内容。
标签: javascript c# json http fetch-api