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>

相关推荐
sen_shan34 分钟前
《Vue项目开发实战》第八章:组件封装--vxeGrid
前端·javascript·vue.js
2***574237 分钟前
Vue项目国际化实践
前端·javascript·vue.js
3秒一个大1 小时前
JavaScript 作用域:从执行机制到块级作用域的演进
javascript
星空的资源小屋1 小时前
VNote:程序员必备Markdown笔记神器
javascript·人工智能·笔记·django
程序员爱钓鱼2 小时前
使用简单 JSON + 自定义 t 函数实现轻量多语言国际化(无需 next-intl)
前端·javascript·trae
一 乐2 小时前
助农平台|基于SprinBoot+vue的助农服务系统(源码+数据库+文档)
前端·javascript·数据库·vue.js·ecmascript·springboot
●VON2 小时前
Electron 小游戏实战:太空打砖块(Space Breakout)
前端·javascript·electron
新晨4372 小时前
Vue 3 定时器清理的最佳实践
javascript·vue.js
重铸码农荣光2 小时前
深入理解 JavaScript 原型机制:从“如何拿到小米 SU7”说起
前端·javascript
Zyx20072 小时前
深入 JavaScript 事件机制:从冒泡到事件委托的高效实践
javascript