好吧基本上我想在一个页面上有一些javascript,以某种方式附加某种全局事件监听器,如果发出ajax请求可以检测并执行某些操作(无需直接从调用中调用它),无论ajax如何打电话.
我想出了如何用jquery做这个 - 如果ajax请求是由 jquery 完成的.这是一个示例代码:
$.post(
// requested script
'someScript.php',
// data to send
{
'foo' : 'bar',
'a' : 'b'
},
// receive response
function(response){
// do something
}
); // .post
// global event listener
$(document).ajaxSend(
function(event,request,settings){
alert(settings.url); // output: "someScript.php"
alert(settings.data); // output: "foo=bar&a=b"
}
);
Run Code Online (Sandbox Code Playgroud)
使用此代码,无论我在何处/如何调用$ .post(..),全局事件侦听器都将触发.如果我使用$ .get或$ .ajax(任何jquery ajax方法),它也可以工作,无论我如何/何时调用它(作为onclick附加,在页面加载,无论如何).
但是,我希望能够扩展此侦听器以触发,无论使用什么js框架,或者即使没有使用框架.因此,例如,如果我也有一个页面上下面的代码(从W3Schools的通用Ajax代码):
function loadXMLDoc()
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code …Run Code Online (Sandbox Code Playgroud) 我知道这是真的:
...您可以通过在文件路径前加上"@"来发布文件系统中已有的文件.
但是,我正在尝试使用不是本地的cURL来发布文件.它存储在其他一些URL上.我们只是说这张照片是谷歌的标志(事实并非如此).它的URL是https://www.google.com/images/srpr/logo11w.png.所以我认为你会做这样的事情:
$file = file("https://www.google.com/images/srpr/logo11w.png");
// some more stuff
// define POST data
$post_data = array('somekey' => 'somevalue',
'image' => '@' . $file);
Run Code Online (Sandbox Code Playgroud)
但是,无论出于何种原因,这似乎都不起作用.另外,我试过用'image' => '@' . file_get_contents($url).再次,这不起作用.
看起来解决这个问题的方法是使用临时文件.这是解决这个问题的唯一方法吗?在任何一种情况下,我该如何解决这个问题?
我想编写一个正则表达式,它只接受一个字符串的最后3个字符串并向其附加一些常量字符串.
我正在使用C#.我试图将正则表达式作为数据库条目.稍后在应用程序中阅读此条目,并在C#中基于正则表达式进行转换.
就像是 :
stringVal.Trim().Substring(0, stringVal.Trim().Length - 3) + ".ConstantValue"
Run Code Online (Sandbox Code Playgroud)