JS POST 不执行 "fetch(url" ,直接到 "catch(ex){FR.Logger.error(ex);FR.Msg.toast(FR.i18nText('Custom')+'JS'+FR.i18nText('Error')+' : '+ex.message);}}).createDelegate(this, [], 0).apply(this, arguments)" 代码如下 debugger; const url = 'http://***'; const username = '*****'; const password = '*****'; const Body = { "approver": "N8181820", "factory": "2022", "name_of_parts": "ame_of_parts", "document_number": "NNNNN", "machine_tool_type": "machine_tool_type", "new_version_number": "w_version_nu", "program_name": "program_name", "part_drawing_number": "part_drawin", "auditor": "N8181820", "issuing_nature": "issuing_nature", "list": [ { "sequence_number": "111111111", "field1": "12", "modify_type": "22", "field3": "21321", "field2": "123", "field5": "3213", "field4": "321312" } ], "applicant": "N8181820", "program_number": "ogram_number", "attachment": "attachment", "procedure_description": "edure_descrip", "application_time": "2024-06-23", "machine_number": "machine_numbe", "tzid": "10001", "group_counter": "group_counter", "original_version_number": "ginal_versio", "operation_number": "operation_numbe", "material_code": "material_code" }; fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': 'Basic ' + btoa(username + ':' + password) }, body: JSON.stringify(Body) }) .then(response => { if (!response.ok) { throw new Error('Network response was not ok ' + response.statusText); } return response.json(); }) .then(data => { // 处理响应数据 console.log(data); }) .catch(error => { // 处理错误 console.error(error); });
使用fetch处理流式数据,在vite+vue3的项目中,结果为流式的,但是在vue2+electron的项目中,数据就变成一次性返回了 const controller = new AbortController(); const signal = controller.signal; const response = await fetch("/v1/services/aigc/text-generation/generation", { method: "POST", signal, headers: { "Content-Type": "application/json", Authorization: `Bearer ${dash_scope_apikey}`, Accept: "text/event-stream" }, body: JSON.stringify({ model: "qwen-plus-0723", input: { messages: [ { role: "user", content: "介绍一下你自己" } ] }, parameters: { result_format: "message", incremental_output: true } }) }); if (response.ok) { const reader = response.body.getReader(); const decoder = new TextDecoder(); while (true) { const { value, done } = await reader.read() if (done) break const chunk = decoder.decode(value, { stream: true }) console.log(chunk); } } 两个项目请求是一样的,但是结果不同,如下 vue2+electron electron版本为20.3.12,vue的版本为2.7.14 "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20240917/1f78e2f6cb2ea306b6f7c2e20f8ae5d0.png) vite+vue3 vue的版本为3.4.29,vite的版本为5.3.1 "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20240917/6b4bc5c27caaede47f7267d6e7b70909.png) 求大佬解答