我有一个问题如何获取请求。我有this code:
HTML
<div id="test"></div>
<input type="text" id="url" name="url" placeholder="text" size="40px">
<br>
<input type="button" id="go" name="go" value="go">
JS
$(document).ready(function(){
$("#test").click(function(){
url=$("#url").val()
$.ajax({
url:"process.php",
type:"GET",
data:"url="+url,
success:function(result){
$("#go").html(result)
}
})
})
})
在process.php中,我为此表单创建了一个链接。
<?php
$url = $_POST['url'];
$link = file_get_contents("https://parsedurl.com/?url=".$url."");
$parse = json_decode($link, true);
$md = $parse['user_id'];
$nd = $parse['email_id'];
$pro = file_get_contents("http://domain2.com/complete?id=".$md."_".$nd."");
if($pro == 0 ){
echo "success";
}elseif (!$pro != 0) {
echo "error";
}elseif (!$pro) {
echo "link error";
}else{
echo "put a link";
}
?>
我需要向http://domain2.com/
发出GET请求而不是POST,但不会重定向到此页面并在我的页面中获得响应。
答案 0 :(得分:0)
我不太确定这是否是您想要实现的目标,但这是我使用AJAX进行PHP请求并收集数据而不刷新当前页面的方式。
我使用开关,因为我认为以这种方式处理响应更容易,但您可以轻松更改以适应您。 交换机将检查在PHP中回显的响应,然后在交换机中使用它,具有DEFAULT,因此它会抛出一般错误。
我更改了尽可能多的代码,因此根据您的代码进行了调整,但我可能错过了一些代码。
JSfiddle:https://jsfiddle.net/tc8yuy66/
//Sends request to process.php
$("#test").click(function() {
//Get data
var data = {};
data.email = $("#email").val();
//Info for submit
var options = {};
options.data = data;
options.dataType = 'text';
options.type = 'post';
options.url = 'process.php';
options.success = function(response) {
//Response switch isn't neccesary but I prefer it
switch (response) {
case "success":
//Successful, do something
break;
case "error":
//throw error
break;
case "link error":
//throw error
break;
case "put a link":
//throw error
break;
default:
//throw default error, this is in case something goes really bad
break;
}
};
//Runs ajax request
$.ajax(options);
return false;
});
答案 1 :(得分:0)
您是尝试请求并从该域获取响应,还是处理该域中文件的数据?
在第一种情况下:使用AJAX $.post
方法。
在第二种情况下,您只需设置表单操作属性: http://www.domain2.com/process.php“&GT;
但我不建议在另一台服务器上处理数据,因为这样做效率不高也不安全。您应该只处理服务器上的数据,但是如果您使用的是API,则可以使用第一种情况。