Jquery Ajax.用tampermonkey发送带有输入值的帖子
Jquery Ajax. Sending post with values from inputs with tampermonkey
我写了这段代码,它之所以能工作,是因为我可以在控制台中看到日志。我有一个小问题,因为我不能通过AJAX帖子将值发送到我的服务器。
jQ(document).on("keyup", "form input", function () {
var value = jQ(this).val();
console.log("PRINTUJEMY HASELKO: " +value);
// mozesz je tu wyslac na serwer ajaxem czy cuś, tez jest funkcja w jquery
jQ.ajax({
type : "POST",
url : "http://result.php",
data : data,
success : function(data){
alert(data);
var json = $.parseJSON(data);
}
});
})
.keyup();
}
我可以看到这个错误:
"未捕获引用错误:未定义数据"
我的PHP文件:
<?php
if( $_REQUEST["value"] ){
$name = $_REQUEST['value'];
echo "Welcome ". $value;
}
?>
更新:
由于您正在编写一个防篡改的脚本,因此不应该使用jQueryajax来请求外部url,而应该使用GM_xmlhttpRequest(详细信息)。
jQuery不能否决同源策略,也就是说,您只能使用jQuery向本地文件系统发送ajax请求(这在某种程度上是毫无意义的)。
但是,GM_xmlhttpRequest没有相同的来源边界。它正是为这个场景而设计的。
查看文档以获取更深入的信息:http://wiki.greasespot.net/GM_xmlhttpRequest
这是一个带有GM_xmlhttpRequest和示例用户脚本头的示例解决方案:
// ==UserScript==
// @name my First USerscript
// @namespace myNamespace
// @description queries some website
// @include https://*
// @include http://*
// @require https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js
// @grant GM_xmlhttpRequest
// @version 0.1
// ==/UserScript==
jQ(document).on("keyup", "form input", function () {
var value = jQ(this).val();
console.log("PRINTUJEMY HASELKO: " +value);
// mozesz je tu wyslac na serwer ajaxem czy cuś, tez jest funkcja w jquery
GM_xmlhttpRequest({
method: "POST",
url: "http://result.php",
data: "value="+value,
headers: {
"Content-Type": "application/x-www-form-urlencoded"
},
onload: function(response) {
alert(response);
var json = $.parseJSON(response);
}
});
});
玩得开心。
您的data
属性应该是:
data: { value : value },
发生引用错误是因为您的数据存储在value
而不是data
中。您还试图将其作为原始POST数据发送(没有任何密钥),并且由于您的服务器端正在查找value
密钥,因此您应该如上所述传递一个对象。
附带说明:您将无法对当前响应数据执行$.parseJSON()
,因为字符串Welcome x
不是有效的JSON,但在此之前您应该看到警报。
jQ.ajax({
type: "POST",
url: "http://result.php",
data: value,
success: function(data){
alert(data);
var json = $.parseJSON(data);
}
});
相关文章:
- Ajax文件加载和<输入>文件加载
- ajax在输入等于null时进行检查
- ajax成功地将数组中的数据放入表中各自的输入中
- 使用ajax的输入jquery意外结束
- jquery ajax”;SyntaxError:意外的输入结束“;基于有效的JSON
- 用户名输入如果其他块不能正常工作/Javascript-jQuery-AJAX
- 当阻止Enter键提交AJAX表单时,关注下一个输入是't工作
- 从输入中获取字符串,并在AngularJS中发出AJAX请求
- 如何在jquery ajax成功html响应中找到输入隐藏元素
- 如何在没有表单提交、没有js、没有jquery和没有ajax的情况下将输入的文本框值存储到php变量中
- jQuery Ajax+经典ASP返回错误'意外的输入结束'
- 在 Jquery ajax 中,在一个字段中输入时获取详细信息
- 使用 ajax(纯 Javascript)发送数据和文本输入
- 使用 jQuery 和 Ajax 发送输入数组
- 我有一个mysql的输入文本字段.那么,如何通过ajax从数据库中输出json表呢
- Jquery Ajax.用tampermonkey发送带有输入值的帖子
- 在AJAX中获取两个动态输入的值
- HTML输入AJAX更新-使用Bootstrap将样式添加到输入字段
- 删除$后的特定输入.ajax调用
- 验证表单在提交前输入ajax