我已经在现有项目中创建了一个asmx Web服务,当我尝试运行Web服务时,我得到了这个错误“请求格式无法识别”。请帮助我解决这个问题。我是asmx Web服务的新手。
我尝试过的方法:在调查此问题时,几乎没有解决方案可将Web服务get和post方法添加到webConfig中,尝试添加后仍无法清除此错误。似乎在使用Web服务期间会发生此错误。
error message
我已经在现有项目中创建了一个asmx Web服务,当我尝试运行Web服务时,我得到了这个错误“请求格式无法识别”。请帮助我解决这个问题。我是asmx Web服务的新手。
我尝试过的方法:在调查此问题时,几乎没有解决方案可将Web服务get和post方法添加到webConfig中,尝试添加后仍无法清除此错误。似乎在使用Web服务期间会发生此错误。
error message
1条答案
按热度按时间polhcujo1#
好的,当您设置Web服务时,您可以通过两种方式完成此操作:
创建一个特定的页面(asmx),或者您可以简单地将您的函数直接放入现有的网页中,并将它们标记为web方法。
假设这个网页有一个名和姓文本框,我们创建一个web方法来获取这两个值,并返回一个全名(名+姓)。
因此,我们的标记将如下所示:
紧接着,我们进行了Web服务调用-我们在这里使用jQuery。
所以,我们有这个:
因此,当我们运行并单击按钮时,我们会看到/得到以下内容:
和我们的代码背后-在这个相同的网页(不需要一个单独的asmx页面-但它将工作一样,无论哪种方式)。
所以,我们有这个:
请注意,我们必须在 AJAX 调用中匹配相同的名称作为该Web方法的参数。
但最有趣的是什么?
该Web方法支持:
因此,您实际上不必使用Web方法创建单独的页面。
但是,我想我可以将FullName上面的内容放到webservice1.asmx中,如下所示:
因此,请注意,我不必将方法设置为“static”,因为我们没有将Web方法放入现有的aspx页面中。
所以,现在 AJAX 变成了这样:
请注意,我们可以这样做一个简单的休息呼叫:
(我将参数直接放入URL)。
因此,如jQuery所示,简单的web方法将返回json或XML --它不需要您做任何额外的工作就可以完成这一任务。
直接键入URL(不带标头的REST调用),那么默认情况下它会返回xml,但您可以只执行一个响应。