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--){

cases[i].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--){

cases[i].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).results[0].rn);

document.getElementById("cas").textContent = JSON.parse(response).results[0].rn;

casArray.push(JSON.parse(response).results[0].rn.toString());

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

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

newCas.textContent = JSON.parse(response).results[i].rn;

casArray.push(JSON.parse(response).results[i].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 +":"+casArray[i]);

}

$.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>

相关推荐
阿蒙Amon3 小时前
TypeScript学习-第7章:泛型(Generic)
javascript·学习·typescript
睡美人的小仙女1273 小时前
Threejs加载环境贴图报错Bad File Format: bad initial token
开发语言·javascript·redis
fanruitian4 小时前
uniapp android开发 测试板本与发行版本
前端·javascript·uni-app
摘星编程5 小时前
React Native + OpenHarmony:Timeline垂直时间轴
javascript·react native·react.js
2501_944525545 小时前
Flutter for OpenHarmony 个人理财管理App实战 - 支出分析页面
android·开发语言·前端·javascript·flutter
jin1233226 小时前
React Native鸿蒙跨平台完成剧本杀组队详情页面,可以复用桌游、团建、赛事等各类组队详情页开发
javascript·react native·react.js·ecmascript·harmonyos
经年未远7 小时前
vue3中实现耳机和扬声器切换方案
javascript·学习·vue
刘一说7 小时前
Vue 组件不必要的重新渲染问题解析:为什么子组件总在“无故”刷新?
前端·javascript·vue.js
可触的未来,发芽的智生7 小时前
狂想:为AGI代称造字ta,《第三类智慧存在,神的赐名》
javascript·人工智能·python·神经网络·程序人生
徐同保8 小时前
React useRef 完全指南:在异步回调中访问最新的 props/state引言
前端·javascript·react.js