c# - 如何将此 Ajax Post 请求转换为 C#
问题描述
我正在用 c# 制作一个项目,以从任何 facebook URL 获取 facebook ID。我的 API 可以提供帮助,但代码正在使用此 Ajax POST 代码:
// get facebook id
$('#get-facebook-id').submit(function(event) {
$('#answer').html("<b>Working for you...</b>");
$.ajax({
type: 'POST',
url: 'https://codeofaninja.com/tools/get-facebook-id-answer.php',
data: $(this).serialize()
})
.done(function(data){
$('#answer').html(data);
$('#page_url_tb').val('')
})
.fail(function() {
alert( "Posting failed. Please try again." );
});
return false;
});
我正在尝试编写自己的代码,但给了我一个错误。我的代码和我的错误在下面。
private string getFbAccountID(string facebookurl)
{
var request = (HttpWebRequest)WebRequest.Create("https://codeofaninja.com/tools/get-facebook-id-answer.php");
var postData = "page_url="+facebookurl;
var data = Encoding.ASCII.GetBytes(postData);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;
using (var stream = request.GetRequestStream())
{
stream.Write(data, 0, data.Length);
}
var response = (HttpWebResponse)request.GetResponse();
var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
return responseString;
}
错误:
<br />
<b>Notice</b>: Undefined index: page_url in <b>/home/100661.cloudwaysapps.com/rpxdhcedbx/public_html/tools/get-facebook-id-answer.php</b> on line <b>3</b><br />
<br />
<b>Notice</b>: Undefined offset: 1 in <b>/home/100661.cloudwaysapps.com/rpxdhcedbx/public_html/tools/get-facebook-id-answer.php</b> on line <b>19</b><br />
<p>There was an error. Please try a different input.</p>
这总是给我这个错误。我希望有人可以帮助我
解决方案
在这里,您有一个使用 System.Net.WebClient 的替代方案,它将使您的代码更精简:
private string getFbAccountID(string facebookurl)
{
using (var webClient = new System.Net.WebClient())
{
var formValues = new System.Collections.Specialized.NameValueCollection
{
{ "page_url", facebookurl }
};
var responseBytes = webClient.UploadValues(
"https://codeofaninja.com/tools/get-facebook-id-answer.php",
formValues
);
return System.Text.Encoding.UTF8.GetString(responseBytes);
}
}
推荐阅读
- sql - ORA-00947 当 UPDATE 返回 BULK COLLECT INTO 用户创建的 TYPE TABLE 时出现“没有足够的值”
- security - 通过令牌保护应用程序和 Web 服务之间的通信
- mysql - 如何使用大量数据迁移 MySQL?
- r - 为特定变量替换数据框中的单元格值
- exception - delphi 应用程序启动时的 A/V
- amazon-web-services - Spring Cloud:仅将 AWS Parameter Store 与某些配置文件一起使用
- javascript - 这个JS代码有什么问题![类型错误]它说错误是我使用“添加”和“删除”的地方
- python - 在QThread中:函数完成后1秒再次调用函数
- rust - 为什么程序宏在我的构建脚本中看不到由 dotenv 设置的环境变量?
- amazon-web-services - docker exec cli 对等通道创建 | 未能创建新连接:超出上下文期限 | 亚马逊管理的区块链