Javascript 努力为我的应用程序构建JS/PHP验证函数
我有一个web服务,在查询web服务并找到匹配项时返回JSON对象,成功返回的示例如下:Javascript 努力为我的应用程序构建JS/PHP验证函数,javascript,windows-8,windows-applications,Javascript,Windows 8,Windows Applications,我有一个web服务,在查询web服务并找到匹配项时返回JSON对象,成功返回的示例如下: {“术语”:[{“术语”:{“术语名称”:“调焦器”,“定义”:“调焦器或第一辅助照相机…”}]} 如果查询未生成匹配项,则返回: 错误查询:从termID=xxx的术语中选择termName、definition 现在,当我通过我的Win 8 Metro应用程序访问它时,我将使用以下代码解析JSON符号对象以获得JS对象: var searchTerm=JSON.parse(Result.response
{“术语”:[{“术语”:{“术语名称”:“调焦器”,“定义”:“调焦器或第一辅助照相机…”}]}
如果查询未生成匹配项,则返回:
错误查询:从termID=xxx的术语中选择termName、definition
现在,当我通过我的Win 8 Metro应用程序访问它时,我将使用以下代码解析JSON符号对象以获得JS对象:
var searchTerm=JSON.parse(Result.responseText)
然后我有了处理searchTerm
并将返回值绑定到app页面控件的代码。如果我输入了一个在DB中找到匹配项的成功查询,那么一切都很好
我无法找到一种验证错误查询的方法。我想测试var searchTerm=JSON.parse(Result.responseText)
返回的值,如果结果成功,则继续执行我现在正在执行的操作,但如果失败,则以不同的方式处理结果。我应该做什么检查来测试这个?我很高兴在我的应用程序或web服务中实现附加验证,任何建议都将不胜感激
谢谢 有几种不同的方法来解决这个问题
一种方法是利用HTTP响应头来中继有关查询的信息(即,对于已找到的记录,HTTP200
状态;对于未找到的记录,HTTP404
;对于错误请求,HTTP400
,等等)。然后可以检查响应代码以确定需要执行的操作。这种方法的优点是不需要对响应消息格式进行任何更改。缺点可能是您必须修改返回的标题。这是用于真正RESTful服务的更典型的方法
另一种方法可能是将成功/错误消息作为结构化JSON响应的一部分返回。这样您的JSON可能看起来像:
{
"result":"found",
"message":
{
"terms":[{"term":{"termName":"Focus Puller","definition":"A focus puller or 1st assistant camera..."}}]}
}
}
显然,您可以更改数据中result
的值以返回错误,并将错误消息放入message
中
这里的优点是,您不必担心头的修改,而且返回的数据始终可以通过JSON.parse()
进行解析。缺点是,现在您的回复信息中有额外的详细信息。Mike,谢谢您的全面回复!现在我将实现第二种方法,因为我没有处理HTTP响应的经验。不过,我接受你关于冗长的观点,如果可能的话,我一定会返回并实现HTTP解决方案。不管怎样,谢谢,圣诞快乐!