我从这个文档中看到:https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage,这是将数据正确传递给iframe的方法.但现在我想发一个答案:
//from main page
myIframe.contentWindow.postMessage('send me a response', '*');
//from iframe of main page
window.addEventListener("message", receiveMessage, false);
function receiveMessage(event){
alert(event.data);//the value of message
//now i need to send an answer 'this is a response'
}
}
Run Code Online (Sandbox Code Playgroud)
如何从iframe向主页发送答案?我真的需要这个答案.
编辑:
好的,我找到了解决方案ty.
我需要解决关于失败插入的无效自动增量的问题,以防某些唯一字段重复。
数据库
id : primary key(11) NOT NULL // !important: doesn't have auto increment
field : varchar(25) NOT NULL
Run Code Online (Sandbox Code Playgroud)
询问
$field = 'field1';
try{
$conn = new PDO("....");
$stmt = $conn->prepare("INSERT INTO table (id,field) VALUES (((SELECT MAX(id) FROM table as table_max_id)+1),:field)");
$stmt->bindParam(':field', $field, PDO::PARAM_STR);
if(!$stmt->execute())
print_r($stmt->errorInfo());//Column id cannot be null;
}
...
Run Code Online (Sandbox Code Playgroud)
发现的错误是:
列id不能为空;
如果表中有记录,则仅在表为空时不会发生此验证错误。
我可以通过放置一个带有 fake 的字段来解决问题id = 1,但我真的不喜欢它作为解决方案,有什么想法吗?