问题描述
请教各位大侠,现在有个需求是这样的:1.一个公司需要我公司的信息,他弄了个API地址http://xxxxxx/xxxxx?keyCode=xxxx,由于保密问题,就这意思吧,需要向这个API地址传递xml文件的内容2.格式里要求,form的id和name必须是xmlform3.form里必须有一个文本框,id和name也必须是xmlmsg4.然后生成一个xml文件,把文件里的所有文本内容写在文本框里5.form里必须有一个submit按钮,点击后会提交form6.结果会返回一个json目前我已实现如下:页面:<formid="xmlform"action="http://xxxxxx/xxxxx?keyCode=xxxx"method="post">xmlmsg:<inputid="xmlmsg"runat="server"type="text"name="xmlmsg"value=""/><inputtype="submit"value="Submit"id="btn"/></form>
后台:protectedvoidPage_Load(objectsender,EventArgse){xmlmsg.Value="<?xmlversion="1.0"(……此处省略一万字文件内容,保证文件内容没问题,反正就是xml文件格式的)";}
大家受累看一下,页面要求必须这种格式。目前倒是可以提交成功了,但提交以后那个返回的所谓json却是弹出一个下载框,下载的文件没有后缀名,但保存后用文本编辑器打开,里边就一个"OK"字样(有那两个双引号)请各位大侠帮帮忙,看有没有办法截获返回的内容,不弹出下载框,我就可以批量传值,然后把返回值显示在网页上了,谢谢大家,可以用jquery
解决方案
本帖最后由 dongyingdeliulangzhe 于 2015-07-20 18:56:33 编辑
解决方案二:
你不能用form提交吧,这样变成前端可视化了,你要用后台代码去调用api,用request请求数据吧
解决方案三:
引用1楼myhope88的回复:
你不能用form提交吧,这样变成前端可视化了,你要用后台代码去调用api,用request请求数据吧
但是对方公司要求这么弄,他说他的API地址发送后返回个json,现在我没办法截获这个json,只显示出一个下载框,文件名叫xmlmessage,没有后缀名,下载保存后,文本编辑器打开显示的是"OK"(带双引号)或者其他的返回结果信息,比如“文件格式不正确”之类的,那就是文件内容的事儿了,主要现在没办法截获他返回的所谓json。我也用ajax提交过表单,url是API地址,参数是xmlmsg:'(文本框值)',但提交直接就失败,什么反应也没有,看来他只能用他要求的方式提交了,难道他可以读取form里的元素?所以要求文本框和form的id和name?这就不清楚了
解决方案四:
貌似需要指定返回数据的格式吧,你看下他返回的数据中contentType是什么格式。好像ie的话返回text/html这样的会把返回结果变成下载东西那样的
解决方案五:
引用楼主dongyingdeliulangzhe的回复:
目前倒是可以提交成功了,但提交以后那个返回的所谓json却是弹出一个下载框,下载的文件没有后缀名,但保存后用文本编辑器打开,里边就一个"OK"字样(有那两个双引号)请各位大侠帮帮忙,看有没有办法截获返回的内容,不弹出下载框,我就可以批量传值,然后把返回值显示在网页上了,谢谢大家,可以用jquery
它返回的就是“OK"而已。别相信他们说的鬼话,应该相信测试结果。
解决方案六:
引用2楼dongyingdeliulangzhe的回复:
但是对方公司要求这么弄,他说他的API地址发送后返回个json,现在我没办法截获这个json,只显示出一个下载框,文件名叫xmlmessage,没有后缀名,下载保存后,文本编辑器打开显示的是"OK"(带双引号)或者其他的返回结果信息,比如“文件格式不正确”之类的,那就是文件内容的事儿了,主要现在没办法截获他返回的所谓json。我也用ajax提交过表单,url是API地址,参数是xmlmsg:'(文本框值)',但提交直接就失败,什么反应也没有,看来他只能用他要求的方式提交了,难道他可以读取form里的元素?所以要求文本框和form的id和name?这就不清楚了
你的2、3、4、5的描述都是错误的。我不知道谁给你描述的这个,建议你找那个给你描述这个做法的人去纠结,你只到告诉她“你做一个啊?!”。因为,要用程序提交数据,根本不是这种2、3、4、5的互联网网页的概念,而是直接用程序提交http命令的概念。你这个问题属于跟错了领导,错在领导太垃圾,而你在他还没有提高水准时没有必要替他去做描述。
解决方案七:
2、3、4、5是一个完全错误、外行、误导你的描述。你如果主动用一个正确的方法实现了,不落好反而可能得罪这种垃圾领导。
解决方案八:
引用3楼lovesheng1212的回复:
貌似需要指定返回数据的格式吧,你看下他返回的数据中contentType是什么格式。好像ie的话返回text/html这样的会把返回结果变成下载东西那样的
太对了朋友,就是下载框框,不知道你有没有方法截获呢?
解决方案九:
我曾经也想着用form提交数据视图获取返回的json数据,但是却忽略了form提交后会刷新页面,所以得到和你类似的结果.你可以想着怎样让页面不刷新来得到json
解决方案十:
正解,就是设定contentType的问题引用3楼lovesheng1212的回复:
貌似需要指定返回数据的格式吧,你看下他返回的数据中contentType是什么格式。好像ie的话返回text/html这样的会把返回结果变成下载东西那样的
解决方案十一:
引用9楼hanjun0612的回复:
正解,就是设定contentType的问题Quote: 引用3楼lovesheng1212的回复:
貌似需要指定返回数据的格式吧,你看下他返回的数据中contentType是什么格式。好像ie的话返回text/html这样的会把返回结果变成下载东西那样的
嗯。楼主你还不新,直接不要浏览器,拿fiddler之类的工具测试吧,保准还是“ok”