index.cshtml

@using System.Data

@model System.Data.DataTable

<head>

<meta charset="UTF-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Document</title>

<script type="application/javascript">

function onInputChange(event){

console.log(event.target.value);

if(event.target.value == ''){

const casArea = document.getElementById('div-cas');

const cases = casArea.getElementsByTagName('p');

for(let i = cases.length-1;i>0;i--){

casesi.remove();

}

document.getElementById("cas").innerText = '';

document.getElementById("mw").innerText = '';

}

}

function loadCAS() {

var casArray = \[\];

const casArea = document.getElementById('div-cas');

const cases = casArea.getElementsByTagName('p');

for(let i = cases.length-1;i>0;i--){

casesi.remove();

}

document.getElementById("cas").innerText = '';

document.getElementById("mw").innerText = '';

var flag = 1;

var searchurl = 'https://commonchemistry.cas.org/api/search?q='; // 获取 JSON 数据的链接

var request;

if (window.XMLHttpRequest) {

request = new XMLHttpRequest(); //发送 Ajax 请求,适用于 Chrome, mozilla 等浏览器

} else if (window.ActiveXObject) {

request = new ActiveXObject("Microsoft.XMLHTTP"); // 发送 Ajax 请求,适用于 IE 浏览器

}

var keyword = document.getElementById("keyword").value;

searchurl += encodeURIComponent(keyword);

request.open("GET", searchurl, false);

request.onreadystatechange = function() {

if (request.readyState == 4 && request.status == 200) {

var response = request.responseText;

console.log(JSON.parse(response));

let count = Number(JSON.parse(response).count.toString());

console.log("count="+ count);

if( count == 0){

document.getElementById("cas").innerText = '暂无数据';

flag = 0;

}

else{

console.log("cas01:"+JSON.parse(response).results0.rn);

document.getElementById("cas").textContent = JSON.parse(response).results0.rn;

casArray.push(JSON.parse(response).results0.rn.toString());

for(let i = 1;i<count;i++){

const newCas = document.createElement('p');

newCas.textContent = JSON.parse(response).resultsi.rn;

casArray.push(JSON.parse(response).resultsi.rn.toString());

const casArea = document.getElementById('div-cas');

casArea.appendChild(newCas);

}

}

}else if(request.readyState == 4 && request.status == 404){

}

}

request.send();

if(flag == 1){

for(let i = 0;i<casArray.length;i++){

console.log("cas"+ i +":"+casArrayi);

}

$.ajax({

url: '/HomeController/Index',

method: 'POST',

data: { casArray: JSON.stringify(casArray) },

success: function(response){

console.log("请求成功");

},

error: function(error){

console.log("请求失败");

}

});

loadMW();

}

}

function loadMW(){

var detailurl = 'https://commonchemistry.cas.org/api/detail?cas_rn='; // 获取 JSON 数据的链接

var request;

if (window.XMLHttpRequest) {

request = new XMLHttpRequest(); //发送 Ajax 请求,适用于 Chrome, mozilla 等浏览器

} else if (window.ActiveXObject) {

request = new ActiveXObject("Microsoft.XMLHTTP"); // 发送 Ajax 请求,适用于 IE 浏览器

}

var cas = document.getElementById("cas").innerText.toString();

console.log('loadMW-cas:'+cas);

detailurl += encodeURIComponent(cas);

request.open("GET", detailurl, false);

request.onreadystatechange = function() {

if (request.readyState == 4 && request.status == 200) {

var response = request.responseText;

console.log(JSON.parse(response));

document.getElementById("mw").innerHTML = JSON.parse(response).molecularMass;

}else if(request.readyState == 4 && request.status == 404){

}

}

request.send();

}

</script>

</head>

<body>

<label for="keyword"> Keyword: </label>

<input type="text" id="keyword" name="keyword" οninput="onInputChange(event)" >

<button type="button" οnclick="loadCAS()">点击加载</button>

<br>

<div id="div-cas">

CAS: <p id="cas"></p>

</div>

<div id="div-mw">

MW: <p id="mw"></p>

</div>

<table class="table table-hover">

<thead>

<tr>

<th>分类</th>

<th>名称</th>

<th>CAS</th>

</tr>

</thead>

@if (Model != null)

{

<tbody>

@foreach (DataRow row in Model.Rows)

{

<tr>

<td>@row"category"</td>

<td>@row"name"</td>

<td>@row"cas"</td>

</tr>

}

</tbody>

}

else

{

<p>No data available.</p>

}

</table>

</body>

相关推荐
anOnion1 小时前
Agentic 前端开发之 实时显示 AI Agent 终端输出
前端·javascript·人工智能
这是个栗子1 小时前
【前端性能优化】优化数据加载:用 Promise.all 从串行到并行
前端·javascript·性能优化·异步编程·前端优化·promise.all
fei_sun2 小时前
黑洞路由(Null Route/空接口路由)
服务器·前端·javascript
摇滚侠3 小时前
方法 A 等方法 B 执行完再执行 叫同步调用还是异步调用 JS 默认是同步调用还是异步调用
开发语言·javascript·ecmascript
触底反弹4 小时前
🔥 字符串算法面试三连击:反转、回文、回文变种,搞懂这三题稳了!
前端·javascript·算法
触底反弹4 小时前
AI Tool Use 深度解析:大模型是如何"突破物理限制"调用外部工具的?
javascript·人工智能·后端
竹林8184 小时前
从 RPC 超时到批量签名:我用 @solana/web3.js 重构了一个 NFT 铸造页面,踩了这些坑
前端·javascript
优雅格子衫5 小时前
TypeScript 类的基本使用小结
javascript·ubuntu·typescript
橘子星5 小时前
从零手写 RAG 语义检索:基于 Node.js 实现轻量级向量搜索
javascript·人工智能
林希_Rachel_傻希希5 小时前
web性能优化之————图片效果
前端·javascript·面试